[INFO] fetching crate stm32f7x7-hal 0.2.1...
[INFO] testing stm32f7x7-hal-0.2.1 against 1.75.0 for beta-1.76-1
[INFO] extracting crate stm32f7x7-hal 0.2.1 into /workspace/builds/worker-4-tc1/source
[INFO] validating manifest of crates.io crate stm32f7x7-hal 0.2.1 on toolchain 1.75.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] removed /workspace/builds/worker-4-tc1/source/.cargo/config
[INFO] started tweaking crates.io crate stm32f7x7-hal 0.2.1
[INFO] finished tweaking crates.io crate stm32f7x7-hal 0.2.1
[INFO] tweaked toml for crates.io crate stm32f7x7-hal 0.2.1 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded stm32f7 v0.7.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 193cfe1c164426a29dde3662fab14fdae32be182cb41e3f990cb7d2a6edcca23
[INFO] running `Command { std: "docker" "start" "-a" "193cfe1c164426a29dde3662fab14fdae32be182cb41e3f990cb7d2a6edcca23", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "193cfe1c164426a29dde3662fab14fdae32be182cb41e3f990cb7d2a6edcca23", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "193cfe1c164426a29dde3662fab14fdae32be182cb41e3f990cb7d2a6edcca23", kill_on_drop: false }`
[INFO] [stdout] 193cfe1c164426a29dde3662fab14fdae32be182cb41e3f990cb7d2a6edcca23
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 37834bc4b9ff48397b29746b6eb8b5339f5388141867e83e5eca3e39c64791d7
[INFO] running `Command { std: "docker" "start" "-a" "37834bc4b9ff48397b29746b6eb8b5339f5388141867e83e5eca3e39c64791d7", kill_on_drop: false }`
[INFO] [stderr]    Compiling cortex-m v0.7.7
[INFO] [stderr]    Compiling nb v0.1.3
[INFO] [stderr]    Compiling generic-array v0.13.3
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling bitfield v0.13.2
[INFO] [stderr]    Compiling cortex-m v0.6.7
[INFO] [stderr]    Compiling stm32f7 v0.7.1
[INFO] [stderr]    Compiling cortex-m-rt v0.6.15
[INFO] [stderr]    Compiling r0 v0.2.2
[INFO] [stderr]    Compiling bare-metal v0.2.5
[INFO] [stderr]    Compiling cast v0.2.7
[INFO] [stderr]    Compiling cortex-m-rt-macros v0.6.15
[INFO] [stderr]    Compiling embedded-hal v0.2.7
[INFO] [stderr]    Compiling as-slice v0.1.5
[INFO] [stderr]    Compiling aligned v0.3.5
[INFO] [stderr]    Compiling stm32f7x7-hal v0.2.1 (/opt/rustwide/workdir)
[INFO] [stderr] error: could not compile `stm32f7` (lib)
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/1.75.0-x86_64-unknown-linux-gnu/bin/rustc --crate-name stm32f7 --edition=2018 /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/stm32f7-0.7.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="stm32f7x7"' -C metadata=d3009d18b6a09c0d -C extra-filename=-d3009d18b6a09c0d --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern bare_metal=/opt/rustwide/target/debug/deps/libbare_metal-8289c7f9c3433e36.rmeta --extern cortex_m=/opt/rustwide/target/debug/deps/libcortex_m-ae72a0c3e3ac2ec2.rmeta --extern vcell=/opt/rustwide/target/debug/deps/libvcell-221320b7da29b4bb.rmeta --cap-lints allow --cap-lints=warn` (signal: 9, SIGKILL: kill)
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/adc.rs:918:26
[INFO] [stdout]      |
[INFO] [stdout] 918  |                         0...9   => self.adc_reg.smpr2.modify(|r, w| unsafe { w.bits(replace_bits(r.bits(), ch, 3, st)) }),
[INFO] [stdout]      |                          ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 1006 | adc!(ADC1 => (adc1, ADC_COMMON, apb2enr, adc1en, apb2rstr, adcrst));
[INFO] [stdout]      | ------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]      = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout]      = note: this warning originates in the macro `adc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/adc.rs:919:27
[INFO] [stdout]      |
[INFO] [stdout] 919  |                         10...18 => self.adc_reg.smpr1.modify(|r, w| unsafe { w.bits(replace_bits(r.bits(), ch-10, 3, st)) }),
[INFO] [stdout]      |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 1006 | adc!(ADC1 => (adc1, ADC_COMMON, apb2enr, adc1en, apb2rstr, adcrst));
[INFO] [stdout]      | ------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]      = note: this warning originates in the macro `adc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/adc.rs:918:26
[INFO] [stdout]      |
[INFO] [stdout] 918  |                         0...9   => self.adc_reg.smpr2.modify(|r, w| unsafe { w.bits(replace_bits(r.bits(), ch, 3, st)) }),
[INFO] [stdout]      |                          ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 1007 | adc!(ADC2 => (adc2, ADC_COMMON, apb2enr, adc2en, apb2rstr, adcrst));
[INFO] [stdout]      | ------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]      = note: this warning originates in the macro `adc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/adc.rs:919:27
[INFO] [stdout]      |
[INFO] [stdout] 919  |                         10...18 => self.adc_reg.smpr1.modify(|r, w| unsafe { w.bits(replace_bits(r.bits(), ch-10, 3, st)) }),
[INFO] [stdout]      |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 1007 | adc!(ADC2 => (adc2, ADC_COMMON, apb2enr, adc2en, apb2rstr, adcrst));
[INFO] [stdout]      | ------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]      = note: this warning originates in the macro `adc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/adc.rs:918:26
[INFO] [stdout]      |
[INFO] [stdout] 918  |                         0...9   => self.adc_reg.smpr2.modify(|r, w| unsafe { w.bits(replace_bits(r.bits(), ch, 3, st)) }),
[INFO] [stdout]      |                          ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 1008 | adc!(ADC3 => (adc3, ADC_COMMON, apb2enr, adc3en, apb2rstr, adcrst));
[INFO] [stdout]      | ------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]      = note: this warning originates in the macro `adc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/adc.rs:919:27
[INFO] [stdout]      |
[INFO] [stdout] 919  |                         10...18 => self.adc_reg.smpr1.modify(|r, w| unsafe { w.bits(replace_bits(r.bits(), ch-10, 3, st)) }),
[INFO] [stdout]      |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 1008 | adc!(ADC3 => (adc3, ADC_COMMON, apb2enr, adc3en, apb2rstr, adcrst));
[INFO] [stdout]      | ------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]      = note: this warning originates in the macro `adc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:195:26
[INFO] [stdout]     |
[INFO] [stdout] 195 |                           0...3 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:200:26
[INFO] [stdout]     |
[INFO] [stdout] 200 |                           4...7 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:205:26
[INFO] [stdout]     |
[INFO] [stdout] 205 |                           8...11 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:210:27
[INFO] [stdout]     |
[INFO] [stdout] 210 |                           12...15 => {
[INFO] [stdout]     |                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:195:26
[INFO] [stdout]     |
[INFO] [stdout] 195 |                           0...3 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:200:26
[INFO] [stdout]     |
[INFO] [stdout] 200 |                           4...7 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:205:26
[INFO] [stdout]     |
[INFO] [stdout] 205 |                           8...11 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:210:27
[INFO] [stdout]     |
[INFO] [stdout] 210 |                           12...15 => {
[INFO] [stdout]     |                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:195:26
[INFO] [stdout]     |
[INFO] [stdout] 195 |                           0...3 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:200:26
[INFO] [stdout]     |
[INFO] [stdout] 200 |                           4...7 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:205:26
[INFO] [stdout]     |
[INFO] [stdout] 205 |                           8...11 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:210:27
[INFO] [stdout]     |
[INFO] [stdout] 210 |                           12...15 => {
[INFO] [stdout]     |                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:195:26
[INFO] [stdout]     |
[INFO] [stdout] 195 |                           0...3 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 713 | / gpio!(GPIOD, gpiod, gpioden, PD, 3, [
[INFO] [stdout] 714 | |     PD0: (pd0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 715 | |     PD1: (pd1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 716 | |     PD2: (pd2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 729 | |     PD15: (pd15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 730 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:200:26
[INFO] [stdout]     |
[INFO] [stdout] 200 |                           4...7 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 713 | / gpio!(GPIOD, gpiod, gpioden, PD, 3, [
[INFO] [stdout] 714 | |     PD0: (pd0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 715 | |     PD1: (pd1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 716 | |     PD2: (pd2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 729 | |     PD15: (pd15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 730 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:205:26
[INFO] [stdout]     |
[INFO] [stdout] 205 |                           8...11 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 713 | / gpio!(GPIOD, gpiod, gpioden, PD, 3, [
[INFO] [stdout] 714 | |     PD0: (pd0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 715 | |     PD1: (pd1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 716 | |     PD2: (pd2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 729 | |     PD15: (pd15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 730 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:210:27
[INFO] [stdout]     |
[INFO] [stdout] 210 |                           12...15 => {
[INFO] [stdout]     |                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 713 | / gpio!(GPIOD, gpiod, gpioden, PD, 3, [
[INFO] [stdout] 714 | |     PD0: (pd0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 715 | |     PD1: (pd1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 716 | |     PD2: (pd2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 729 | |     PD15: (pd15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 730 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:195:26
[INFO] [stdout]     |
[INFO] [stdout] 195 |                           0...3 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 732 | / gpio!(GPIOE, gpioe, gpioeen, PE, 4, [
[INFO] [stdout] 733 | |     PE0: (pe0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 734 | |     PE1: (pe1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 735 | |     PE2: (pe2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 748 | |     PE15: (pe15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 749 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:200:26
[INFO] [stdout]     |
[INFO] [stdout] 200 |                           4...7 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 732 | / gpio!(GPIOE, gpioe, gpioeen, PE, 4, [
[INFO] [stdout] 733 | |     PE0: (pe0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 734 | |     PE1: (pe1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 735 | |     PE2: (pe2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 748 | |     PE15: (pe15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 749 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:205:26
[INFO] [stdout]     |
[INFO] [stdout] 205 |                           8...11 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 732 | / gpio!(GPIOE, gpioe, gpioeen, PE, 4, [
[INFO] [stdout] 733 | |     PE0: (pe0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 734 | |     PE1: (pe1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 735 | |     PE2: (pe2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 748 | |     PE15: (pe15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 749 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:210:27
[INFO] [stdout]     |
[INFO] [stdout] 210 |                           12...15 => {
[INFO] [stdout]     |                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 732 | / gpio!(GPIOE, gpioe, gpioeen, PE, 4, [
[INFO] [stdout] 733 | |     PE0: (pe0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 734 | |     PE1: (pe1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 735 | |     PE2: (pe2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 748 | |     PE15: (pe15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 749 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:195:26
[INFO] [stdout]     |
[INFO] [stdout] 195 |                           0...3 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 751 | / gpio!(GPIOF, gpiof, gpiofen, PF, 5, [
[INFO] [stdout] 752 | |     PF0: (pf0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 753 | |     PF1: (pf1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 754 | |     PF2: (pf2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 767 | |     PF15: (pf15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 768 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:200:26
[INFO] [stdout]     |
[INFO] [stdout] 200 |                           4...7 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 751 | / gpio!(GPIOF, gpiof, gpiofen, PF, 5, [
[INFO] [stdout] 752 | |     PF0: (pf0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 753 | |     PF1: (pf1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 754 | |     PF2: (pf2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 767 | |     PF15: (pf15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 768 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:205:26
[INFO] [stdout]     |
[INFO] [stdout] 205 |                           8...11 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 751 | / gpio!(GPIOF, gpiof, gpiofen, PF, 5, [
[INFO] [stdout] 752 | |     PF0: (pf0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 753 | |     PF1: (pf1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 754 | |     PF2: (pf2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 767 | |     PF15: (pf15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 768 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:210:27
[INFO] [stdout]     |
[INFO] [stdout] 210 |                           12...15 => {
[INFO] [stdout]     |                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 751 | / gpio!(GPIOF, gpiof, gpiofen, PF, 5, [
[INFO] [stdout] 752 | |     PF0: (pf0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 753 | |     PF1: (pf1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 754 | |     PF2: (pf2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 767 | |     PF15: (pf15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 768 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:195:26
[INFO] [stdout]     |
[INFO] [stdout] 195 |                           0...3 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 770 | / gpio!(GPIOG, gpiog, gpiogen, PG, 6, [
[INFO] [stdout] 771 | |     PG0: (pg0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 772 | |     PG1: (pg1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 773 | |     PG2: (pg2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |     PG15: (pg15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 787 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:200:26
[INFO] [stdout]     |
[INFO] [stdout] 200 |                           4...7 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 770 | / gpio!(GPIOG, gpiog, gpiogen, PG, 6, [
[INFO] [stdout] 771 | |     PG0: (pg0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 772 | |     PG1: (pg1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 773 | |     PG2: (pg2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |     PG15: (pg15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 787 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:205:26
[INFO] [stdout]     |
[INFO] [stdout] 205 |                           8...11 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 770 | / gpio!(GPIOG, gpiog, gpiogen, PG, 6, [
[INFO] [stdout] 771 | |     PG0: (pg0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 772 | |     PG1: (pg1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 773 | |     PG2: (pg2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |     PG15: (pg15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 787 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:210:27
[INFO] [stdout]     |
[INFO] [stdout] 210 |                           12...15 => {
[INFO] [stdout]     |                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 770 | / gpio!(GPIOG, gpiog, gpiogen, PG, 6, [
[INFO] [stdout] 771 | |     PG0: (pg0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 772 | |     PG1: (pg1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 773 | |     PG2: (pg2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |     PG15: (pg15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 787 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:195:26
[INFO] [stdout]     |
[INFO] [stdout] 195 |                           0...3 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 789 | / gpio!(GPIOH, gpioh, gpiohen, PH, 7, [
[INFO] [stdout] 790 | |     PH0: (ph0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 791 | |     PH1: (ph1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 792 | |     PH2: (ph2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 805 | |     PH15: (ph15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 806 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:200:26
[INFO] [stdout]     |
[INFO] [stdout] 200 |                           4...7 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 789 | / gpio!(GPIOH, gpioh, gpiohen, PH, 7, [
[INFO] [stdout] 790 | |     PH0: (ph0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 791 | |     PH1: (ph1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 792 | |     PH2: (ph2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 805 | |     PH15: (ph15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 806 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:205:26
[INFO] [stdout]     |
[INFO] [stdout] 205 |                           8...11 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 789 | / gpio!(GPIOH, gpioh, gpiohen, PH, 7, [
[INFO] [stdout] 790 | |     PH0: (ph0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 791 | |     PH1: (ph1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 792 | |     PH2: (ph2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 805 | |     PH15: (ph15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 806 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:210:27
[INFO] [stdout]     |
[INFO] [stdout] 210 |                           12...15 => {
[INFO] [stdout]     |                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 789 | / gpio!(GPIOH, gpioh, gpiohen, PH, 7, [
[INFO] [stdout] 790 | |     PH0: (ph0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 791 | |     PH1: (ph1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 792 | |     PH2: (ph2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 805 | |     PH15: (ph15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 806 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:195:26
[INFO] [stdout]     |
[INFO] [stdout] 195 |                           0...3 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 808 | / gpio!(GPIOI, gpioi, gpioien, PI, 8, [
[INFO] [stdout] 809 | |     PI0: (pi0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 810 | |     PI1: (pi1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 811 | |     PI2: (pi2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 824 | |     PI15: (pi15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 825 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:200:26
[INFO] [stdout]     |
[INFO] [stdout] 200 |                           4...7 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 808 | / gpio!(GPIOI, gpioi, gpioien, PI, 8, [
[INFO] [stdout] 809 | |     PI0: (pi0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 810 | |     PI1: (pi1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 811 | |     PI2: (pi2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 824 | |     PI15: (pi15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 825 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:205:26
[INFO] [stdout]     |
[INFO] [stdout] 205 |                           8...11 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 808 | / gpio!(GPIOI, gpioi, gpioien, PI, 8, [
[INFO] [stdout] 809 | |     PI0: (pi0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 810 | |     PI1: (pi1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 811 | |     PI2: (pi2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 824 | |     PI15: (pi15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 825 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:210:27
[INFO] [stdout]     |
[INFO] [stdout] 210 |                           12...15 => {
[INFO] [stdout]     |                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 808 | / gpio!(GPIOI, gpioi, gpioien, PI, 8, [
[INFO] [stdout] 809 | |     PI0: (pi0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 810 | |     PI1: (pi1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 811 | |     PI2: (pi2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 824 | |     PI15: (pi15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 825 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:195:26
[INFO] [stdout]     |
[INFO] [stdout] 195 |                           0...3 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 827 | / gpio!(GPIOJ, gpioj, gpiojen, PJ, 9, [
[INFO] [stdout] 828 | |     PJ0: (pj0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 829 | |     PJ1: (pj1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 830 | |     PJ2: (pj2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 843 | |     PJ15: (pj15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 844 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:200:26
[INFO] [stdout]     |
[INFO] [stdout] 200 |                           4...7 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 827 | / gpio!(GPIOJ, gpioj, gpiojen, PJ, 9, [
[INFO] [stdout] 828 | |     PJ0: (pj0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 829 | |     PJ1: (pj1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 830 | |     PJ2: (pj2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 843 | |     PJ15: (pj15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 844 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:205:26
[INFO] [stdout]     |
[INFO] [stdout] 205 |                           8...11 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 827 | / gpio!(GPIOJ, gpioj, gpiojen, PJ, 9, [
[INFO] [stdout] 828 | |     PJ0: (pj0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 829 | |     PJ1: (pj1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 830 | |     PJ2: (pj2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 843 | |     PJ15: (pj15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 844 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:210:27
[INFO] [stdout]     |
[INFO] [stdout] 210 |                           12...15 => {
[INFO] [stdout]     |                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 827 | / gpio!(GPIOJ, gpioj, gpiojen, PJ, 9, [
[INFO] [stdout] 828 | |     PJ0: (pj0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 829 | |     PJ1: (pj1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 830 | |     PJ2: (pj2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 843 | |     PJ15: (pj15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 844 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:195:26
[INFO] [stdout]     |
[INFO] [stdout] 195 |                           0...3 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 846 | / gpio!(GPIOK, gpiok, gpioken, PK, 10, [
[INFO] [stdout] 847 | |     PK0: (pk0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 848 | |     PK1: (pk1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 849 | |     PK2: (pk2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 854 | |     PK7: (pk7, 7, Input<Floating>, exticr2),
[INFO] [stdout] 855 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:200:26
[INFO] [stdout]     |
[INFO] [stdout] 200 |                           4...7 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 846 | / gpio!(GPIOK, gpiok, gpioken, PK, 10, [
[INFO] [stdout] 847 | |     PK0: (pk0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 848 | |     PK1: (pk1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 849 | |     PK2: (pk2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 854 | |     PK7: (pk7, 7, Input<Floating>, exticr2),
[INFO] [stdout] 855 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:205:26
[INFO] [stdout]     |
[INFO] [stdout] 205 |                           8...11 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 846 | / gpio!(GPIOK, gpiok, gpioken, PK, 10, [
[INFO] [stdout] 847 | |     PK0: (pk0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 848 | |     PK1: (pk1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 849 | |     PK2: (pk2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 854 | |     PK7: (pk7, 7, Input<Floating>, exticr2),
[INFO] [stdout] 855 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:210:27
[INFO] [stdout]     |
[INFO] [stdout] 210 |                           12...15 => {
[INFO] [stdout]     |                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 846 | / gpio!(GPIOK, gpiok, gpioken, PK, 10, [
[INFO] [stdout] 847 | |     PK0: (pk0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 848 | |     PK1: (pk1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 849 | |     PK2: (pk2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 854 | |     PK7: (pk7, 7, Input<Floating>, exticr2),
[INFO] [stdout] 855 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rcc.rs:236:18
[INFO] [stdout]     |
[INFO] [stdout] 236 |                 3...5 => 0b1001,
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rcc.rs:237:18
[INFO] [stdout]     |
[INFO] [stdout] 237 |                 6...11 => 0b1010,
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rcc.rs:238:19
[INFO] [stdout]     |
[INFO] [stdout] 238 |                 12...39 => 0b1011,
[INFO] [stdout]     |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rcc.rs:239:19
[INFO] [stdout]     |
[INFO] [stdout] 239 |                 40...95 => 0b1100,
[INFO] [stdout]     |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rcc.rs:240:19
[INFO] [stdout]     |
[INFO] [stdout] 240 |                 96...191 => 0b1101,
[INFO] [stdout]     |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rcc.rs:241:20
[INFO] [stdout]     |
[INFO] [stdout] 241 |                 192...383 => 0b1110,
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/spi.rs:401:14
[INFO] [stdout]     |
[INFO] [stdout] 401 |             1...2 => 0b000,
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/spi.rs:402:14
[INFO] [stdout]     |
[INFO] [stdout] 402 |             3...5 => 0b001,
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/spi.rs:403:14
[INFO] [stdout]     |
[INFO] [stdout] 403 |             6...11 => 0b010,
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/spi.rs:404:15
[INFO] [stdout]     |
[INFO] [stdout] 404 |             12...23 => 0b011,
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/spi.rs:405:15
[INFO] [stdout]     |
[INFO] [stdout] 405 |             24...47 => 0b100,
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/spi.rs:406:15
[INFO] [stdout]     |
[INFO] [stdout] 406 |             48...95 => 0b101,
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/spi.rs:407:15
[INFO] [stdout]     |
[INFO] [stdout] 407 |             96...191 => 0b110,
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:259:25
[INFO] [stdout]     |
[INFO] [stdout] 259 | /                         &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 260 | |                             w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 261 | |                         });
[INFO] [stdout]     | |__________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 259 |                         let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:25
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                         &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 265 | |                             w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 266 | |                         });
[INFO] [stdout]     | |__________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 264 |                         let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 | /                     &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 269 | |                         w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 270 | |                     });
[INFO] [stdout]     | |______________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 268 |                     let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:384:29
[INFO] [stdout]     |
[INFO] [stdout] 384 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 385 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 386 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 384 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 385 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 386 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:381:29
[INFO] [stdout]     |
[INFO] [stdout] 381 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 382 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 383 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 381 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:399:29
[INFO] [stdout]     |
[INFO] [stdout] 399 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 400 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 401 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 399 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 400 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 401 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:396:29
[INFO] [stdout]     |
[INFO] [stdout] 396 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 397 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 398 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 396 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:414:29
[INFO] [stdout]     |
[INFO] [stdout] 414 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 415 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 416 | |                             }
[INFO] [stdout] 417 | |                         )};
[INFO] [stdout]     | |_________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 414 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 415 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 416 |                             }
[INFO] [stdout] 417 ~                         );};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:411:29
[INFO] [stdout]     |
[INFO] [stdout] 411 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 412 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 413 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 411 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:432:29
[INFO] [stdout]     |
[INFO] [stdout] 432 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 433 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 434 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 432 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 433 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 434 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:426:29
[INFO] [stdout]     |
[INFO] [stdout] 426 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 427 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 428 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 426 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:429:29
[INFO] [stdout]     |
[INFO] [stdout] 429 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 430 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 431 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 429 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:451:29
[INFO] [stdout]     |
[INFO] [stdout] 451 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 452 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 453 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 451 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 452 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 453 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:445:29
[INFO] [stdout]     |
[INFO] [stdout] 445 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 446 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 447 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 445 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:448:29
[INFO] [stdout]     |
[INFO] [stdout] 448 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 449 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 450 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 448 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:467:29
[INFO] [stdout]     |
[INFO] [stdout] 467 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 468 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 469 | |                             }
[INFO] [stdout] 470 | |                         )};
[INFO] [stdout]     | |_________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 467 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 468 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 469 |                             }
[INFO] [stdout] 470 ~                         );};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:464:29
[INFO] [stdout]     |
[INFO] [stdout] 464 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 465 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 466 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 464 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:482:29
[INFO] [stdout]     |
[INFO] [stdout] 482 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 483 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 484 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 482 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 483 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 484 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:497:29
[INFO] [stdout]     |
[INFO] [stdout] 497 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 498 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 499 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 497 ~                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 498 |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 499 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:510:29
[INFO] [stdout]     |
[INFO] [stdout] 510 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 511 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 512 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 510 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 511 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 512 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:523:29
[INFO] [stdout]     |
[INFO] [stdout] 523 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 524 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 525 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 523 ~                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 524 |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 525 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:537:29
[INFO] [stdout]     |
[INFO] [stdout] 537 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 538 | |                                 w.bits(r.bits() | (1 << offset))
[INFO] [stdout] 539 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 537 ~                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 538 |                                 w.bits(r.bits() | (1 << offset))
[INFO] [stdout] 539 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:259:25
[INFO] [stdout]     |
[INFO] [stdout] 259 | /                         &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 260 | |                             w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 261 | |                         });
[INFO] [stdout]     | |__________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 259 |                         let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:25
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                         &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 265 | |                             w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 266 | |                         });
[INFO] [stdout]     | |__________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 264 |                         let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 | /                     &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 269 | |                         w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 270 | |                     });
[INFO] [stdout]     | |______________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 268 |                     let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:384:29
[INFO] [stdout]     |
[INFO] [stdout] 384 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 385 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 386 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 384 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 385 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 386 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:381:29
[INFO] [stdout]     |
[INFO] [stdout] 381 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 382 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 383 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 381 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:399:29
[INFO] [stdout]     |
[INFO] [stdout] 399 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 400 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 401 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 399 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 400 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 401 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:396:29
[INFO] [stdout]     |
[INFO] [stdout] 396 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 397 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 398 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 396 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:414:29
[INFO] [stdout]     |
[INFO] [stdout] 414 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 415 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 416 | |                             }
[INFO] [stdout] 417 | |                         )};
[INFO] [stdout]     | |_________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 414 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 415 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 416 |                             }
[INFO] [stdout] 417 ~                         );};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:411:29
[INFO] [stdout]     |
[INFO] [stdout] 411 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 412 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 413 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 411 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:432:29
[INFO] [stdout]     |
[INFO] [stdout] 432 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 433 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 434 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 432 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 433 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 434 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:426:29
[INFO] [stdout]     |
[INFO] [stdout] 426 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 427 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 428 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 426 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:429:29
[INFO] [stdout]     |
[INFO] [stdout] 429 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 430 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 431 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 429 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:451:29
[INFO] [stdout]     |
[INFO] [stdout] 451 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 452 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 453 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 451 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 452 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 453 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:445:29
[INFO] [stdout]     |
[INFO] [stdout] 445 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 446 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 447 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 445 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:448:29
[INFO] [stdout]     |
[INFO] [stdout] 448 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 449 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 450 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 448 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:467:29
[INFO] [stdout]     |
[INFO] [stdout] 467 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 468 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 469 | |                             }
[INFO] [stdout] 470 | |                         )};
[INFO] [stdout]     | |_________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 467 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 468 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 469 |                             }
[INFO] [stdout] 470 ~                         );};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:464:29
[INFO] [stdout]     |
[INFO] [stdout] 464 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 465 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 466 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 464 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:482:29
[INFO] [stdout]     |
[INFO] [stdout] 482 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 483 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 484 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 482 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 483 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 484 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:497:29
[INFO] [stdout]     |
[INFO] [stdout] 497 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 498 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 499 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 497 ~                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 498 |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 499 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:510:29
[INFO] [stdout]     |
[INFO] [stdout] 510 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 511 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 512 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 510 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 511 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 512 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:523:29
[INFO] [stdout]     |
[INFO] [stdout] 523 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 524 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 525 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 523 ~                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 524 |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 525 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:537:29
[INFO] [stdout]     |
[INFO] [stdout] 537 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 538 | |                                 w.bits(r.bits() | (1 << offset))
[INFO] [stdout] 539 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 537 ~                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 538 |                                 w.bits(r.bits() | (1 << offset))
[INFO] [stdout] 539 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:259:25
[INFO] [stdout]     |
[INFO] [stdout] 259 | /                         &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 260 | |                             w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 261 | |                         });
[INFO] [stdout]     | |__________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 259 |                         let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:25
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                         &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 265 | |                             w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 266 | |                         });
[INFO] [stdout]     | |__________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 264 |                         let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 | /                     &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 269 | |                         w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 270 | |                     });
[INFO] [stdout]     | |______________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 268 |                     let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:384:29
[INFO] [stdout]     |
[INFO] [stdout] 384 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 385 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 386 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 384 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 385 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 386 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:381:29
[INFO] [stdout]     |
[INFO] [stdout] 381 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 382 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 383 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 381 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:399:29
[INFO] [stdout]     |
[INFO] [stdout] 399 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 400 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 401 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 399 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 400 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 401 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:396:29
[INFO] [stdout]     |
[INFO] [stdout] 396 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 397 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 398 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 396 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:414:29
[INFO] [stdout]     |
[INFO] [stdout] 414 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 415 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 416 | |                             }
[INFO] [stdout] 417 | |                         )};
[INFO] [stdout]     | |_________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 414 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 415 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 416 |                             }
[INFO] [stdout] 417 ~                         );};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:411:29
[INFO] [stdout]     |
[INFO] [stdout] 411 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 412 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 413 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 411 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:432:29
[INFO] [stdout]     |
[INFO] [stdout] 432 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 433 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 434 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 432 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 433 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 434 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:426:29
[INFO] [stdout]     |
[INFO] [stdout] 426 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 427 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 428 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 426 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:429:29
[INFO] [stdout]     |
[INFO] [stdout] 429 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 430 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 431 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 429 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:451:29
[INFO] [stdout]     |
[INFO] [stdout] 451 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 452 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 453 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 451 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 452 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 453 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:445:29
[INFO] [stdout]     |
[INFO] [stdout] 445 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 446 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 447 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 445 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:448:29
[INFO] [stdout]     |
[INFO] [stdout] 448 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 449 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 450 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 448 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:467:29
[INFO] [stdout]     |
[INFO] [stdout] 467 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 468 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 469 | |                             }
[INFO] [stdout] 470 | |                         )};
[INFO] [stdout]     | |_________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 467 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 468 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 469 |                             }
[INFO] [stdout] 470 ~                         );};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:464:29
[INFO] [stdout]     |
[INFO] [stdout] 464 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 465 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 466 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 464 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:482:29
[INFO] [stdout]     |
[INFO] [stdout] 482 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 483 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 484 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 482 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 483 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 484 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:497:29
[INFO] [stdout]     |
[INFO] [stdout] 497 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 498 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 499 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 497 ~                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 498 |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 499 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:510:29
[INFO] [stdout]     |
[INFO] [stdout] 510 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 511 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 512 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 510 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 511 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 512 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:523:29
[INFO] [stdout]     |
[INFO] [stdout] 523 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 524 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 525 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 523 ~                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 524 |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 525 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:537:29
[INFO] [stdout]     |
[INFO] [stdout] 537 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 538 | |                                 w.bits(r.bits() | (1 << offset))
[INFO] [stdout] 539 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 537 ~                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 538 |                                 w.bits(r.bits() | (1 << offset))
[INFO] [stdout] 539 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:259:25
[INFO] [stdout]     |
[INFO] [stdout] 259 | /                         &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 260 | |                             w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 261 | |                         });
[INFO] [stdout]     | |__________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 713 | / gpio!(GPIOD, gpiod, gpioden, PD, 3, [
[INFO] [stdout] 714 | |     PD0: (pd0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 715 | |     PD1: (pd1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 716 | |     PD2: (pd2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 729 | |     PD15: (pd15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 730 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 259 |                         let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:25
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                         &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 265 | |                             w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 266 | |                         });
[INFO] [stdout]     | |__________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 713 | / gpio!(GPIOD, gpiod, gpioden, PD, 3, [
[INFO] [stdout] 714 | |     PD0: (pd0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 715 | |     PD1: (pd1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 716 | |     PD2: (pd2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 729 | |     PD15: (pd15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 730 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 264 |                         let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 | /                     &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 269 | |                         w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 270 | |                     });
[INFO] [stdout]     | |______________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 713 | / gpio!(GPIOD, gpiod, gpioden, PD, 3, [
[INFO] [stdout] 714 | |     PD0: (pd0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 715 | |     PD1: (pd1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 716 | |     PD2: (pd2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 729 | |     PD15: (pd15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 730 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 268 |                     let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:384:29
[INFO] [stdout]     |
[INFO] [stdout] 384 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 385 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 386 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 713 | / gpio!(GPIOD, gpiod, gpioden, PD, 3, [
[INFO] [stdout] 714 | |     PD0: (pd0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 715 | |     PD1: (pd1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 716 | |     PD2: (pd2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 729 | |     PD15: (pd15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 730 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 384 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 385 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 386 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:381:29
[INFO] [stdout]     |
[INFO] [stdout] 381 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 382 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 383 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 713 | / gpio!(GPIOD, gpiod, gpioden, PD, 3, [
[INFO] [stdout] 714 | |     PD0: (pd0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 715 | |     PD1: (pd1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 716 | |     PD2: (pd2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 729 | |     PD15: (pd15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 730 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 381 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:399:29
[INFO] [stdout]     |
[INFO] [stdout] 399 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 400 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 401 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 713 | / gpio!(GPIOD, gpiod, gpioden, PD, 3, [
[INFO] [stdout] 714 | |     PD0: (pd0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 715 | |     PD1: (pd1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 716 | |     PD2: (pd2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 729 | |     PD15: (pd15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 730 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 399 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 400 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 401 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:396:29
[INFO] [stdout]     |
[INFO] [stdout] 396 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 397 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 398 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 713 | / gpio!(GPIOD, gpiod, gpioden, PD, 3, [
[INFO] [stdout] 714 | |     PD0: (pd0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 715 | |     PD1: (pd1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 716 | |     PD2: (pd2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 729 | |     PD15: (pd15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 730 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 396 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:414:29
[INFO] [stdout]     |
[INFO] [stdout] 414 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 415 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 416 | |                             }
[INFO] [stdout] 417 | |                         )};
[INFO] [stdout]     | |_________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 713 | / gpio!(GPIOD, gpiod, gpioden, PD, 3, [
[INFO] [stdout] 714 | |     PD0: (pd0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 715 | |     PD1: (pd1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 716 | |     PD2: (pd2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 729 | |     PD15: (pd15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 730 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 414 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 415 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 416 |                             }
[INFO] [stdout] 417 ~                         );};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:411:29
[INFO] [stdout]     |
[INFO] [stdout] 411 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 412 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 413 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 713 | / gpio!(GPIOD, gpiod, gpioden, PD, 3, [
[INFO] [stdout] 714 | |     PD0: (pd0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 715 | |     PD1: (pd1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 716 | |     PD2: (pd2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 729 | |     PD15: (pd15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 730 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 411 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:432:29
[INFO] [stdout]     |
[INFO] [stdout] 432 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 433 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 434 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 713 | / gpio!(GPIOD, gpiod, gpioden, PD, 3, [
[INFO] [stdout] 714 | |     PD0: (pd0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 715 | |     PD1: (pd1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 716 | |     PD2: (pd2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 729 | |     PD15: (pd15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 730 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 432 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 433 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 434 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:426:29
[INFO] [stdout]     |
[INFO] [stdout] 426 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 427 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 428 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 713 | / gpio!(GPIOD, gpiod, gpioden, PD, 3, [
[INFO] [stdout] 714 | |     PD0: (pd0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 715 | |     PD1: (pd1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 716 | |     PD2: (pd2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 729 | |     PD15: (pd15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 730 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 426 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:429:29
[INFO] [stdout]     |
[INFO] [stdout] 429 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 430 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 431 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 713 | / gpio!(GPIOD, gpiod, gpioden, PD, 3, [
[INFO] [stdout] 714 | |     PD0: (pd0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 715 | |     PD1: (pd1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 716 | |     PD2: (pd2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 729 | |     PD15: (pd15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 730 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 429 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:451:29
[INFO] [stdout]     |
[INFO] [stdout] 451 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 452 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 453 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 713 | / gpio!(GPIOD, gpiod, gpioden, PD, 3, [
[INFO] [stdout] 714 | |     PD0: (pd0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 715 | |     PD1: (pd1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 716 | |     PD2: (pd2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 729 | |     PD15: (pd15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 730 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 451 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 452 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 453 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:445:29
[INFO] [stdout]     |
[INFO] [stdout] 445 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 446 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 447 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 713 | / gpio!(GPIOD, gpiod, gpioden, PD, 3, [
[INFO] [stdout] 714 | |     PD0: (pd0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 715 | |     PD1: (pd1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 716 | |     PD2: (pd2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 729 | |     PD15: (pd15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 730 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 445 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:448:29
[INFO] [stdout]     |
[INFO] [stdout] 448 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 449 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 450 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 713 | / gpio!(GPIOD, gpiod, gpioden, PD, 3, [
[INFO] [stdout] 714 | |     PD0: (pd0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 715 | |     PD1: (pd1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 716 | |     PD2: (pd2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 729 | |     PD15: (pd15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 730 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 448 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:467:29
[INFO] [stdout]     |
[INFO] [stdout] 467 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 468 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 469 | |                             }
[INFO] [stdout] 470 | |                         )};
[INFO] [stdout]     | |_________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 713 | / gpio!(GPIOD, gpiod, gpioden, PD, 3, [
[INFO] [stdout] 714 | |     PD0: (pd0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 715 | |     PD1: (pd1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 716 | |     PD2: (pd2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 729 | |     PD15: (pd15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 730 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 467 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 468 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 469 |                             }
[INFO] [stdout] 470 ~                         );};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:464:29
[INFO] [stdout]     |
[INFO] [stdout] 464 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 465 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 466 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 713 | / gpio!(GPIOD, gpiod, gpioden, PD, 3, [
[INFO] [stdout] 714 | |     PD0: (pd0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 715 | |     PD1: (pd1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 716 | |     PD2: (pd2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 729 | |     PD15: (pd15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 730 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 464 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:482:29
[INFO] [stdout]     |
[INFO] [stdout] 482 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 483 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 484 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 713 | / gpio!(GPIOD, gpiod, gpioden, PD, 3, [
[INFO] [stdout] 714 | |     PD0: (pd0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 715 | |     PD1: (pd1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 716 | |     PD2: (pd2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 729 | |     PD15: (pd15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 730 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 482 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 483 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 484 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:497:29
[INFO] [stdout]     |
[INFO] [stdout] 497 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 498 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 499 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 713 | / gpio!(GPIOD, gpiod, gpioden, PD, 3, [
[INFO] [stdout] 714 | |     PD0: (pd0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 715 | |     PD1: (pd1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 716 | |     PD2: (pd2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 729 | |     PD15: (pd15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 730 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 497 ~                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 498 |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 499 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:510:29
[INFO] [stdout]     |
[INFO] [stdout] 510 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 511 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 512 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 713 | / gpio!(GPIOD, gpiod, gpioden, PD, 3, [
[INFO] [stdout] 714 | |     PD0: (pd0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 715 | |     PD1: (pd1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 716 | |     PD2: (pd2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 729 | |     PD15: (pd15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 730 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 510 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 511 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 512 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:523:29
[INFO] [stdout]     |
[INFO] [stdout] 523 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 524 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 525 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 713 | / gpio!(GPIOD, gpiod, gpioden, PD, 3, [
[INFO] [stdout] 714 | |     PD0: (pd0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 715 | |     PD1: (pd1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 716 | |     PD2: (pd2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 729 | |     PD15: (pd15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 730 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 523 ~                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 524 |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 525 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:537:29
[INFO] [stdout]     |
[INFO] [stdout] 537 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 538 | |                                 w.bits(r.bits() | (1 << offset))
[INFO] [stdout] 539 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 713 | / gpio!(GPIOD, gpiod, gpioden, PD, 3, [
[INFO] [stdout] 714 | |     PD0: (pd0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 715 | |     PD1: (pd1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 716 | |     PD2: (pd2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 729 | |     PD15: (pd15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 730 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 537 ~                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 538 |                                 w.bits(r.bits() | (1 << offset))
[INFO] [stdout] 539 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:259:25
[INFO] [stdout]     |
[INFO] [stdout] 259 | /                         &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 260 | |                             w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 261 | |                         });
[INFO] [stdout]     | |__________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 732 | / gpio!(GPIOE, gpioe, gpioeen, PE, 4, [
[INFO] [stdout] 733 | |     PE0: (pe0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 734 | |     PE1: (pe1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 735 | |     PE2: (pe2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 748 | |     PE15: (pe15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 749 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 259 |                         let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:25
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                         &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 265 | |                             w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 266 | |                         });
[INFO] [stdout]     | |__________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 732 | / gpio!(GPIOE, gpioe, gpioeen, PE, 4, [
[INFO] [stdout] 733 | |     PE0: (pe0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 734 | |     PE1: (pe1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 735 | |     PE2: (pe2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 748 | |     PE15: (pe15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 749 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 264 |                         let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 | /                     &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 269 | |                         w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 270 | |                     });
[INFO] [stdout]     | |______________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 732 | / gpio!(GPIOE, gpioe, gpioeen, PE, 4, [
[INFO] [stdout] 733 | |     PE0: (pe0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 734 | |     PE1: (pe1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 735 | |     PE2: (pe2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 748 | |     PE15: (pe15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 749 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 268 |                     let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:384:29
[INFO] [stdout]     |
[INFO] [stdout] 384 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 385 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 386 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 732 | / gpio!(GPIOE, gpioe, gpioeen, PE, 4, [
[INFO] [stdout] 733 | |     PE0: (pe0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 734 | |     PE1: (pe1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 735 | |     PE2: (pe2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 748 | |     PE15: (pe15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 749 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 384 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 385 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 386 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:381:29
[INFO] [stdout]     |
[INFO] [stdout] 381 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 382 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 383 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 732 | / gpio!(GPIOE, gpioe, gpioeen, PE, 4, [
[INFO] [stdout] 733 | |     PE0: (pe0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 734 | |     PE1: (pe1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 735 | |     PE2: (pe2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 748 | |     PE15: (pe15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 749 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 381 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:399:29
[INFO] [stdout]     |
[INFO] [stdout] 399 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 400 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 401 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 732 | / gpio!(GPIOE, gpioe, gpioeen, PE, 4, [
[INFO] [stdout] 733 | |     PE0: (pe0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 734 | |     PE1: (pe1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 735 | |     PE2: (pe2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 748 | |     PE15: (pe15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 749 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 399 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 400 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 401 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:396:29
[INFO] [stdout]     |
[INFO] [stdout] 396 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 397 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 398 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 732 | / gpio!(GPIOE, gpioe, gpioeen, PE, 4, [
[INFO] [stdout] 733 | |     PE0: (pe0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 734 | |     PE1: (pe1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 735 | |     PE2: (pe2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 748 | |     PE15: (pe15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 749 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 396 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:414:29
[INFO] [stdout]     |
[INFO] [stdout] 414 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 415 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 416 | |                             }
[INFO] [stdout] 417 | |                         )};
[INFO] [stdout]     | |_________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 732 | / gpio!(GPIOE, gpioe, gpioeen, PE, 4, [
[INFO] [stdout] 733 | |     PE0: (pe0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 734 | |     PE1: (pe1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 735 | |     PE2: (pe2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 748 | |     PE15: (pe15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 749 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 414 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 415 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 416 |                             }
[INFO] [stdout] 417 ~                         );};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:411:29
[INFO] [stdout]     |
[INFO] [stdout] 411 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 412 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 413 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 732 | / gpio!(GPIOE, gpioe, gpioeen, PE, 4, [
[INFO] [stdout] 733 | |     PE0: (pe0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 734 | |     PE1: (pe1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 735 | |     PE2: (pe2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 748 | |     PE15: (pe15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 749 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 411 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:432:29
[INFO] [stdout]     |
[INFO] [stdout] 432 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 433 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 434 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 732 | / gpio!(GPIOE, gpioe, gpioeen, PE, 4, [
[INFO] [stdout] 733 | |     PE0: (pe0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 734 | |     PE1: (pe1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 735 | |     PE2: (pe2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 748 | |     PE15: (pe15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 749 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 432 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 433 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 434 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:426:29
[INFO] [stdout]     |
[INFO] [stdout] 426 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 427 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 428 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 732 | / gpio!(GPIOE, gpioe, gpioeen, PE, 4, [
[INFO] [stdout] 733 | |     PE0: (pe0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 734 | |     PE1: (pe1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 735 | |     PE2: (pe2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 748 | |     PE15: (pe15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 749 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 426 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:429:29
[INFO] [stdout]     |
[INFO] [stdout] 429 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 430 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 431 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 732 | / gpio!(GPIOE, gpioe, gpioeen, PE, 4, [
[INFO] [stdout] 733 | |     PE0: (pe0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 734 | |     PE1: (pe1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 735 | |     PE2: (pe2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 748 | |     PE15: (pe15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 749 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 429 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:451:29
[INFO] [stdout]     |
[INFO] [stdout] 451 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 452 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 453 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 732 | / gpio!(GPIOE, gpioe, gpioeen, PE, 4, [
[INFO] [stdout] 733 | |     PE0: (pe0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 734 | |     PE1: (pe1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 735 | |     PE2: (pe2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 748 | |     PE15: (pe15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 749 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 451 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 452 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 453 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:445:29
[INFO] [stdout]     |
[INFO] [stdout] 445 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 446 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 447 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 732 | / gpio!(GPIOE, gpioe, gpioeen, PE, 4, [
[INFO] [stdout] 733 | |     PE0: (pe0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 734 | |     PE1: (pe1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 735 | |     PE2: (pe2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 748 | |     PE15: (pe15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 749 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 445 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:448:29
[INFO] [stdout]     |
[INFO] [stdout] 448 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 449 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 450 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 732 | / gpio!(GPIOE, gpioe, gpioeen, PE, 4, [
[INFO] [stdout] 733 | |     PE0: (pe0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 734 | |     PE1: (pe1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 735 | |     PE2: (pe2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 748 | |     PE15: (pe15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 749 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 448 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:467:29
[INFO] [stdout]     |
[INFO] [stdout] 467 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 468 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 469 | |                             }
[INFO] [stdout] 470 | |                         )};
[INFO] [stdout]     | |_________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 732 | / gpio!(GPIOE, gpioe, gpioeen, PE, 4, [
[INFO] [stdout] 733 | |     PE0: (pe0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 734 | |     PE1: (pe1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 735 | |     PE2: (pe2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 748 | |     PE15: (pe15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 749 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 467 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 468 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 469 |                             }
[INFO] [stdout] 470 ~                         );};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:464:29
[INFO] [stdout]     |
[INFO] [stdout] 464 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 465 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 466 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 732 | / gpio!(GPIOE, gpioe, gpioeen, PE, 4, [
[INFO] [stdout] 733 | |     PE0: (pe0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 734 | |     PE1: (pe1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 735 | |     PE2: (pe2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 748 | |     PE15: (pe15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 749 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 464 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:482:29
[INFO] [stdout]     |
[INFO] [stdout] 482 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 483 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 484 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 732 | / gpio!(GPIOE, gpioe, gpioeen, PE, 4, [
[INFO] [stdout] 733 | |     PE0: (pe0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 734 | |     PE1: (pe1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 735 | |     PE2: (pe2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 748 | |     PE15: (pe15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 749 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 482 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 483 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 484 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:497:29
[INFO] [stdout]     |
[INFO] [stdout] 497 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 498 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 499 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 732 | / gpio!(GPIOE, gpioe, gpioeen, PE, 4, [
[INFO] [stdout] 733 | |     PE0: (pe0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 734 | |     PE1: (pe1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 735 | |     PE2: (pe2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 748 | |     PE15: (pe15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 749 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 497 ~                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 498 |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 499 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:510:29
[INFO] [stdout]     |
[INFO] [stdout] 510 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 511 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 512 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 732 | / gpio!(GPIOE, gpioe, gpioeen, PE, 4, [
[INFO] [stdout] 733 | |     PE0: (pe0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 734 | |     PE1: (pe1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 735 | |     PE2: (pe2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 748 | |     PE15: (pe15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 749 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 510 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 511 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 512 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:523:29
[INFO] [stdout]     |
[INFO] [stdout] 523 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 524 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 525 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 732 | / gpio!(GPIOE, gpioe, gpioeen, PE, 4, [
[INFO] [stdout] 733 | |     PE0: (pe0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 734 | |     PE1: (pe1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 735 | |     PE2: (pe2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 748 | |     PE15: (pe15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 749 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 523 ~                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 524 |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 525 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:537:29
[INFO] [stdout]     |
[INFO] [stdout] 537 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 538 | |                                 w.bits(r.bits() | (1 << offset))
[INFO] [stdout] 539 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 732 | / gpio!(GPIOE, gpioe, gpioeen, PE, 4, [
[INFO] [stdout] 733 | |     PE0: (pe0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 734 | |     PE1: (pe1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 735 | |     PE2: (pe2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 748 | |     PE15: (pe15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 749 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 537 ~                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 538 |                                 w.bits(r.bits() | (1 << offset))
[INFO] [stdout] 539 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:259:25
[INFO] [stdout]     |
[INFO] [stdout] 259 | /                         &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 260 | |                             w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 261 | |                         });
[INFO] [stdout]     | |__________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 751 | / gpio!(GPIOF, gpiof, gpiofen, PF, 5, [
[INFO] [stdout] 752 | |     PF0: (pf0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 753 | |     PF1: (pf1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 754 | |     PF2: (pf2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 767 | |     PF15: (pf15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 768 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 259 |                         let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:25
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                         &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 265 | |                             w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 266 | |                         });
[INFO] [stdout]     | |__________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 751 | / gpio!(GPIOF, gpiof, gpiofen, PF, 5, [
[INFO] [stdout] 752 | |     PF0: (pf0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 753 | |     PF1: (pf1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 754 | |     PF2: (pf2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 767 | |     PF15: (pf15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 768 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 264 |                         let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 | /                     &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 269 | |                         w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 270 | |                     });
[INFO] [stdout]     | |______________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 751 | / gpio!(GPIOF, gpiof, gpiofen, PF, 5, [
[INFO] [stdout] 752 | |     PF0: (pf0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 753 | |     PF1: (pf1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 754 | |     PF2: (pf2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 767 | |     PF15: (pf15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 768 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 268 |                     let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:384:29
[INFO] [stdout]     |
[INFO] [stdout] 384 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 385 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 386 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 751 | / gpio!(GPIOF, gpiof, gpiofen, PF, 5, [
[INFO] [stdout] 752 | |     PF0: (pf0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 753 | |     PF1: (pf1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 754 | |     PF2: (pf2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 767 | |     PF15: (pf15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 768 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 384 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 385 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 386 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:381:29
[INFO] [stdout]     |
[INFO] [stdout] 381 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 382 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 383 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 751 | / gpio!(GPIOF, gpiof, gpiofen, PF, 5, [
[INFO] [stdout] 752 | |     PF0: (pf0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 753 | |     PF1: (pf1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 754 | |     PF2: (pf2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 767 | |     PF15: (pf15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 768 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 381 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:399:29
[INFO] [stdout]     |
[INFO] [stdout] 399 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 400 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 401 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 751 | / gpio!(GPIOF, gpiof, gpiofen, PF, 5, [
[INFO] [stdout] 752 | |     PF0: (pf0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 753 | |     PF1: (pf1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 754 | |     PF2: (pf2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 767 | |     PF15: (pf15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 768 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 399 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 400 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 401 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:396:29
[INFO] [stdout]     |
[INFO] [stdout] 396 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 397 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 398 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 751 | / gpio!(GPIOF, gpiof, gpiofen, PF, 5, [
[INFO] [stdout] 752 | |     PF0: (pf0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 753 | |     PF1: (pf1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 754 | |     PF2: (pf2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 767 | |     PF15: (pf15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 768 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 396 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:414:29
[INFO] [stdout]     |
[INFO] [stdout] 414 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 415 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 416 | |                             }
[INFO] [stdout] 417 | |                         )};
[INFO] [stdout]     | |_________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 751 | / gpio!(GPIOF, gpiof, gpiofen, PF, 5, [
[INFO] [stdout] 752 | |     PF0: (pf0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 753 | |     PF1: (pf1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 754 | |     PF2: (pf2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 767 | |     PF15: (pf15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 768 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 414 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 415 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 416 |                             }
[INFO] [stdout] 417 ~                         );};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:411:29
[INFO] [stdout]     |
[INFO] [stdout] 411 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 412 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 413 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 751 | / gpio!(GPIOF, gpiof, gpiofen, PF, 5, [
[INFO] [stdout] 752 | |     PF0: (pf0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 753 | |     PF1: (pf1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 754 | |     PF2: (pf2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 767 | |     PF15: (pf15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 768 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 411 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:432:29
[INFO] [stdout]     |
[INFO] [stdout] 432 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 433 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 434 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 751 | / gpio!(GPIOF, gpiof, gpiofen, PF, 5, [
[INFO] [stdout] 752 | |     PF0: (pf0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 753 | |     PF1: (pf1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 754 | |     PF2: (pf2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 767 | |     PF15: (pf15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 768 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 432 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 433 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 434 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:426:29
[INFO] [stdout]     |
[INFO] [stdout] 426 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 427 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 428 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 751 | / gpio!(GPIOF, gpiof, gpiofen, PF, 5, [
[INFO] [stdout] 752 | |     PF0: (pf0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 753 | |     PF1: (pf1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 754 | |     PF2: (pf2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 767 | |     PF15: (pf15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 768 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 426 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:429:29
[INFO] [stdout]     |
[INFO] [stdout] 429 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 430 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 431 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 751 | / gpio!(GPIOF, gpiof, gpiofen, PF, 5, [
[INFO] [stdout] 752 | |     PF0: (pf0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 753 | |     PF1: (pf1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 754 | |     PF2: (pf2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 767 | |     PF15: (pf15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 768 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 429 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:451:29
[INFO] [stdout]     |
[INFO] [stdout] 451 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 452 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 453 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 751 | / gpio!(GPIOF, gpiof, gpiofen, PF, 5, [
[INFO] [stdout] 752 | |     PF0: (pf0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 753 | |     PF1: (pf1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 754 | |     PF2: (pf2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 767 | |     PF15: (pf15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 768 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 451 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 452 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 453 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:445:29
[INFO] [stdout]     |
[INFO] [stdout] 445 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 446 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 447 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 751 | / gpio!(GPIOF, gpiof, gpiofen, PF, 5, [
[INFO] [stdout] 752 | |     PF0: (pf0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 753 | |     PF1: (pf1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 754 | |     PF2: (pf2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 767 | |     PF15: (pf15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 768 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 445 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:448:29
[INFO] [stdout]     |
[INFO] [stdout] 448 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 449 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 450 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 751 | / gpio!(GPIOF, gpiof, gpiofen, PF, 5, [
[INFO] [stdout] 752 | |     PF0: (pf0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 753 | |     PF1: (pf1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 754 | |     PF2: (pf2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 767 | |     PF15: (pf15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 768 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 448 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:467:29
[INFO] [stdout]     |
[INFO] [stdout] 467 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 468 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 469 | |                             }
[INFO] [stdout] 470 | |                         )};
[INFO] [stdout]     | |_________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 751 | / gpio!(GPIOF, gpiof, gpiofen, PF, 5, [
[INFO] [stdout] 752 | |     PF0: (pf0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 753 | |     PF1: (pf1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 754 | |     PF2: (pf2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 767 | |     PF15: (pf15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 768 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 467 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 468 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 469 |                             }
[INFO] [stdout] 470 ~                         );};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:464:29
[INFO] [stdout]     |
[INFO] [stdout] 464 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 465 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 466 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 751 | / gpio!(GPIOF, gpiof, gpiofen, PF, 5, [
[INFO] [stdout] 752 | |     PF0: (pf0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 753 | |     PF1: (pf1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 754 | |     PF2: (pf2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 767 | |     PF15: (pf15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 768 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 464 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:482:29
[INFO] [stdout]     |
[INFO] [stdout] 482 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 483 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 484 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 751 | / gpio!(GPIOF, gpiof, gpiofen, PF, 5, [
[INFO] [stdout] 752 | |     PF0: (pf0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 753 | |     PF1: (pf1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 754 | |     PF2: (pf2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 767 | |     PF15: (pf15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 768 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 482 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 483 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 484 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:497:29
[INFO] [stdout]     |
[INFO] [stdout] 497 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 498 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 499 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 751 | / gpio!(GPIOF, gpiof, gpiofen, PF, 5, [
[INFO] [stdout] 752 | |     PF0: (pf0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 753 | |     PF1: (pf1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 754 | |     PF2: (pf2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 767 | |     PF15: (pf15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 768 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 497 ~                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 498 |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 499 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:510:29
[INFO] [stdout]     |
[INFO] [stdout] 510 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 511 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 512 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 751 | / gpio!(GPIOF, gpiof, gpiofen, PF, 5, [
[INFO] [stdout] 752 | |     PF0: (pf0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 753 | |     PF1: (pf1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 754 | |     PF2: (pf2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 767 | |     PF15: (pf15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 768 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 510 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 511 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 512 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:523:29
[INFO] [stdout]     |
[INFO] [stdout] 523 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 524 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 525 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 751 | / gpio!(GPIOF, gpiof, gpiofen, PF, 5, [
[INFO] [stdout] 752 | |     PF0: (pf0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 753 | |     PF1: (pf1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 754 | |     PF2: (pf2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 767 | |     PF15: (pf15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 768 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 523 ~                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 524 |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 525 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:537:29
[INFO] [stdout]     |
[INFO] [stdout] 537 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 538 | |                                 w.bits(r.bits() | (1 << offset))
[INFO] [stdout] 539 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 751 | / gpio!(GPIOF, gpiof, gpiofen, PF, 5, [
[INFO] [stdout] 752 | |     PF0: (pf0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 753 | |     PF1: (pf1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 754 | |     PF2: (pf2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 767 | |     PF15: (pf15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 768 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 537 ~                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 538 |                                 w.bits(r.bits() | (1 << offset))
[INFO] [stdout] 539 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:259:25
[INFO] [stdout]     |
[INFO] [stdout] 259 | /                         &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 260 | |                             w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 261 | |                         });
[INFO] [stdout]     | |__________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 770 | / gpio!(GPIOG, gpiog, gpiogen, PG, 6, [
[INFO] [stdout] 771 | |     PG0: (pg0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 772 | |     PG1: (pg1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 773 | |     PG2: (pg2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |     PG15: (pg15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 787 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 259 |                         let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:25
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                         &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 265 | |                             w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 266 | |                         });
[INFO] [stdout]     | |__________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 770 | / gpio!(GPIOG, gpiog, gpiogen, PG, 6, [
[INFO] [stdout] 771 | |     PG0: (pg0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 772 | |     PG1: (pg1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 773 | |     PG2: (pg2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |     PG15: (pg15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 787 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 264 |                         let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 | /                     &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 269 | |                         w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 270 | |                     });
[INFO] [stdout]     | |______________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 770 | / gpio!(GPIOG, gpiog, gpiogen, PG, 6, [
[INFO] [stdout] 771 | |     PG0: (pg0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 772 | |     PG1: (pg1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 773 | |     PG2: (pg2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |     PG15: (pg15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 787 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 268 |                     let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:384:29
[INFO] [stdout]     |
[INFO] [stdout] 384 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 385 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 386 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 770 | / gpio!(GPIOG, gpiog, gpiogen, PG, 6, [
[INFO] [stdout] 771 | |     PG0: (pg0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 772 | |     PG1: (pg1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 773 | |     PG2: (pg2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |     PG15: (pg15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 787 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 384 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 385 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 386 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:381:29
[INFO] [stdout]     |
[INFO] [stdout] 381 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 382 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 383 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 770 | / gpio!(GPIOG, gpiog, gpiogen, PG, 6, [
[INFO] [stdout] 771 | |     PG0: (pg0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 772 | |     PG1: (pg1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 773 | |     PG2: (pg2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |     PG15: (pg15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 787 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 381 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:399:29
[INFO] [stdout]     |
[INFO] [stdout] 399 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 400 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 401 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 770 | / gpio!(GPIOG, gpiog, gpiogen, PG, 6, [
[INFO] [stdout] 771 | |     PG0: (pg0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 772 | |     PG1: (pg1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 773 | |     PG2: (pg2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |     PG15: (pg15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 787 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 399 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 400 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 401 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:396:29
[INFO] [stdout]     |
[INFO] [stdout] 396 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 397 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 398 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 770 | / gpio!(GPIOG, gpiog, gpiogen, PG, 6, [
[INFO] [stdout] 771 | |     PG0: (pg0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 772 | |     PG1: (pg1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 773 | |     PG2: (pg2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |     PG15: (pg15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 787 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 396 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:414:29
[INFO] [stdout]     |
[INFO] [stdout] 414 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 415 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 416 | |                             }
[INFO] [stdout] 417 | |                         )};
[INFO] [stdout]     | |_________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 770 | / gpio!(GPIOG, gpiog, gpiogen, PG, 6, [
[INFO] [stdout] 771 | |     PG0: (pg0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 772 | |     PG1: (pg1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 773 | |     PG2: (pg2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |     PG15: (pg15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 787 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 414 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 415 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 416 |                             }
[INFO] [stdout] 417 ~                         );};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:411:29
[INFO] [stdout]     |
[INFO] [stdout] 411 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 412 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 413 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 770 | / gpio!(GPIOG, gpiog, gpiogen, PG, 6, [
[INFO] [stdout] 771 | |     PG0: (pg0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 772 | |     PG1: (pg1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 773 | |     PG2: (pg2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |     PG15: (pg15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 787 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 411 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:432:29
[INFO] [stdout]     |
[INFO] [stdout] 432 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 433 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 434 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 770 | / gpio!(GPIOG, gpiog, gpiogen, PG, 6, [
[INFO] [stdout] 771 | |     PG0: (pg0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 772 | |     PG1: (pg1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 773 | |     PG2: (pg2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |     PG15: (pg15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 787 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 432 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 433 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 434 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:426:29
[INFO] [stdout]     |
[INFO] [stdout] 426 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 427 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 428 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 770 | / gpio!(GPIOG, gpiog, gpiogen, PG, 6, [
[INFO] [stdout] 771 | |     PG0: (pg0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 772 | |     PG1: (pg1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 773 | |     PG2: (pg2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |     PG15: (pg15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 787 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 426 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:429:29
[INFO] [stdout]     |
[INFO] [stdout] 429 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 430 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 431 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 770 | / gpio!(GPIOG, gpiog, gpiogen, PG, 6, [
[INFO] [stdout] 771 | |     PG0: (pg0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 772 | |     PG1: (pg1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 773 | |     PG2: (pg2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |     PG15: (pg15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 787 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 429 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:451:29
[INFO] [stdout]     |
[INFO] [stdout] 451 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 452 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 453 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 770 | / gpio!(GPIOG, gpiog, gpiogen, PG, 6, [
[INFO] [stdout] 771 | |     PG0: (pg0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 772 | |     PG1: (pg1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 773 | |     PG2: (pg2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |     PG15: (pg15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 787 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 451 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 452 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 453 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:445:29
[INFO] [stdout]     |
[INFO] [stdout] 445 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 446 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 447 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 770 | / gpio!(GPIOG, gpiog, gpiogen, PG, 6, [
[INFO] [stdout] 771 | |     PG0: (pg0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 772 | |     PG1: (pg1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 773 | |     PG2: (pg2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |     PG15: (pg15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 787 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 445 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:448:29
[INFO] [stdout]     |
[INFO] [stdout] 448 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 449 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 450 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 770 | / gpio!(GPIOG, gpiog, gpiogen, PG, 6, [
[INFO] [stdout] 771 | |     PG0: (pg0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 772 | |     PG1: (pg1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 773 | |     PG2: (pg2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |     PG15: (pg15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 787 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 448 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:467:29
[INFO] [stdout]     |
[INFO] [stdout] 467 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 468 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 469 | |                             }
[INFO] [stdout] 470 | |                         )};
[INFO] [stdout]     | |_________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 770 | / gpio!(GPIOG, gpiog, gpiogen, PG, 6, [
[INFO] [stdout] 771 | |     PG0: (pg0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 772 | |     PG1: (pg1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 773 | |     PG2: (pg2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |     PG15: (pg15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 787 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 467 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 468 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 469 |                             }
[INFO] [stdout] 470 ~                         );};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:464:29
[INFO] [stdout]     |
[INFO] [stdout] 464 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 465 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 466 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 770 | / gpio!(GPIOG, gpiog, gpiogen, PG, 6, [
[INFO] [stdout] 771 | |     PG0: (pg0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 772 | |     PG1: (pg1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 773 | |     PG2: (pg2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |     PG15: (pg15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 787 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 464 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:482:29
[INFO] [stdout]     |
[INFO] [stdout] 482 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 483 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 484 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 770 | / gpio!(GPIOG, gpiog, gpiogen, PG, 6, [
[INFO] [stdout] 771 | |     PG0: (pg0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 772 | |     PG1: (pg1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 773 | |     PG2: (pg2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |     PG15: (pg15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 787 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 482 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 483 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 484 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:497:29
[INFO] [stdout]     |
[INFO] [stdout] 497 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 498 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 499 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 770 | / gpio!(GPIOG, gpiog, gpiogen, PG, 6, [
[INFO] [stdout] 771 | |     PG0: (pg0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 772 | |     PG1: (pg1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 773 | |     PG2: (pg2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |     PG15: (pg15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 787 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 497 ~                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 498 |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 499 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:510:29
[INFO] [stdout]     |
[INFO] [stdout] 510 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 511 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 512 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 770 | / gpio!(GPIOG, gpiog, gpiogen, PG, 6, [
[INFO] [stdout] 771 | |     PG0: (pg0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 772 | |     PG1: (pg1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 773 | |     PG2: (pg2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |     PG15: (pg15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 787 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 510 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 511 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 512 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:523:29
[INFO] [stdout]     |
[INFO] [stdout] 523 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 524 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 525 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 770 | / gpio!(GPIOG, gpiog, gpiogen, PG, 6, [
[INFO] [stdout] 771 | |     PG0: (pg0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 772 | |     PG1: (pg1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 773 | |     PG2: (pg2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |     PG15: (pg15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 787 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 523 ~                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 524 |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 525 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:537:29
[INFO] [stdout]     |
[INFO] [stdout] 537 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 538 | |                                 w.bits(r.bits() | (1 << offset))
[INFO] [stdout] 539 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 770 | / gpio!(GPIOG, gpiog, gpiogen, PG, 6, [
[INFO] [stdout] 771 | |     PG0: (pg0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 772 | |     PG1: (pg1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 773 | |     PG2: (pg2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |     PG15: (pg15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 787 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 537 ~                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 538 |                                 w.bits(r.bits() | (1 << offset))
[INFO] [stdout] 539 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:259:25
[INFO] [stdout]     |
[INFO] [stdout] 259 | /                         &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 260 | |                             w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 261 | |                         });
[INFO] [stdout]     | |__________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 789 | / gpio!(GPIOH, gpioh, gpiohen, PH, 7, [
[INFO] [stdout] 790 | |     PH0: (ph0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 791 | |     PH1: (ph1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 792 | |     PH2: (ph2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 805 | |     PH15: (ph15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 806 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 259 |                         let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:25
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                         &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 265 | |                             w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 266 | |                         });
[INFO] [stdout]     | |__________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 789 | / gpio!(GPIOH, gpioh, gpiohen, PH, 7, [
[INFO] [stdout] 790 | |     PH0: (ph0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 791 | |     PH1: (ph1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 792 | |     PH2: (ph2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 805 | |     PH15: (ph15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 806 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 264 |                         let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 | /                     &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 269 | |                         w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 270 | |                     });
[INFO] [stdout]     | |______________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 789 | / gpio!(GPIOH, gpioh, gpiohen, PH, 7, [
[INFO] [stdout] 790 | |     PH0: (ph0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 791 | |     PH1: (ph1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 792 | |     PH2: (ph2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 805 | |     PH15: (ph15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 806 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 268 |                     let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:384:29
[INFO] [stdout]     |
[INFO] [stdout] 384 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 385 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 386 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 789 | / gpio!(GPIOH, gpioh, gpiohen, PH, 7, [
[INFO] [stdout] 790 | |     PH0: (ph0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 791 | |     PH1: (ph1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 792 | |     PH2: (ph2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 805 | |     PH15: (ph15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 806 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 384 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 385 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 386 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:381:29
[INFO] [stdout]     |
[INFO] [stdout] 381 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 382 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 383 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 789 | / gpio!(GPIOH, gpioh, gpiohen, PH, 7, [
[INFO] [stdout] 790 | |     PH0: (ph0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 791 | |     PH1: (ph1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 792 | |     PH2: (ph2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 805 | |     PH15: (ph15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 806 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 381 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:399:29
[INFO] [stdout]     |
[INFO] [stdout] 399 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 400 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 401 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 789 | / gpio!(GPIOH, gpioh, gpiohen, PH, 7, [
[INFO] [stdout] 790 | |     PH0: (ph0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 791 | |     PH1: (ph1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 792 | |     PH2: (ph2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 805 | |     PH15: (ph15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 806 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 399 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 400 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 401 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:396:29
[INFO] [stdout]     |
[INFO] [stdout] 396 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 397 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 398 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 789 | / gpio!(GPIOH, gpioh, gpiohen, PH, 7, [
[INFO] [stdout] 790 | |     PH0: (ph0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 791 | |     PH1: (ph1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 792 | |     PH2: (ph2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 805 | |     PH15: (ph15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 806 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 396 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:414:29
[INFO] [stdout]     |
[INFO] [stdout] 414 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 415 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 416 | |                             }
[INFO] [stdout] 417 | |                         )};
[INFO] [stdout]     | |_________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 789 | / gpio!(GPIOH, gpioh, gpiohen, PH, 7, [
[INFO] [stdout] 790 | |     PH0: (ph0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 791 | |     PH1: (ph1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 792 | |     PH2: (ph2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 805 | |     PH15: (ph15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 806 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 414 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 415 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 416 |                             }
[INFO] [stdout] 417 ~                         );};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:411:29
[INFO] [stdout]     |
[INFO] [stdout] 411 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 412 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 413 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 789 | / gpio!(GPIOH, gpioh, gpiohen, PH, 7, [
[INFO] [stdout] 790 | |     PH0: (ph0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 791 | |     PH1: (ph1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 792 | |     PH2: (ph2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 805 | |     PH15: (ph15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 806 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 411 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:432:29
[INFO] [stdout]     |
[INFO] [stdout] 432 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 433 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 434 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 789 | / gpio!(GPIOH, gpioh, gpiohen, PH, 7, [
[INFO] [stdout] 790 | |     PH0: (ph0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 791 | |     PH1: (ph1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 792 | |     PH2: (ph2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 805 | |     PH15: (ph15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 806 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 432 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 433 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 434 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:426:29
[INFO] [stdout]     |
[INFO] [stdout] 426 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 427 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 428 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 789 | / gpio!(GPIOH, gpioh, gpiohen, PH, 7, [
[INFO] [stdout] 790 | |     PH0: (ph0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 791 | |     PH1: (ph1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 792 | |     PH2: (ph2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 805 | |     PH15: (ph15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 806 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 426 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:429:29
[INFO] [stdout]     |
[INFO] [stdout] 429 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 430 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 431 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 789 | / gpio!(GPIOH, gpioh, gpiohen, PH, 7, [
[INFO] [stdout] 790 | |     PH0: (ph0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 791 | |     PH1: (ph1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 792 | |     PH2: (ph2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 805 | |     PH15: (ph15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 806 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 429 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:451:29
[INFO] [stdout]     |
[INFO] [stdout] 451 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 452 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 453 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 789 | / gpio!(GPIOH, gpioh, gpiohen, PH, 7, [
[INFO] [stdout] 790 | |     PH0: (ph0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 791 | |     PH1: (ph1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 792 | |     PH2: (ph2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 805 | |     PH15: (ph15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 806 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 451 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 452 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 453 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:445:29
[INFO] [stdout]     |
[INFO] [stdout] 445 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 446 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 447 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 789 | / gpio!(GPIOH, gpioh, gpiohen, PH, 7, [
[INFO] [stdout] 790 | |     PH0: (ph0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 791 | |     PH1: (ph1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 792 | |     PH2: (ph2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 805 | |     PH15: (ph15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 806 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 445 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:448:29
[INFO] [stdout]     |
[INFO] [stdout] 448 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 449 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 450 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 789 | / gpio!(GPIOH, gpioh, gpiohen, PH, 7, [
[INFO] [stdout] 790 | |     PH0: (ph0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 791 | |     PH1: (ph1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 792 | |     PH2: (ph2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 805 | |     PH15: (ph15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 806 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 448 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:467:29
[INFO] [stdout]     |
[INFO] [stdout] 467 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 468 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 469 | |                             }
[INFO] [stdout] 470 | |                         )};
[INFO] [stdout]     | |_________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 789 | / gpio!(GPIOH, gpioh, gpiohen, PH, 7, [
[INFO] [stdout] 790 | |     PH0: (ph0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 791 | |     PH1: (ph1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 792 | |     PH2: (ph2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 805 | |     PH15: (ph15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 806 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 467 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 468 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 469 |                             }
[INFO] [stdout] 470 ~                         );};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:464:29
[INFO] [stdout]     |
[INFO] [stdout] 464 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 465 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 466 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 789 | / gpio!(GPIOH, gpioh, gpiohen, PH, 7, [
[INFO] [stdout] 790 | |     PH0: (ph0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 791 | |     PH1: (ph1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 792 | |     PH2: (ph2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 805 | |     PH15: (ph15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 806 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 464 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:482:29
[INFO] [stdout]     |
[INFO] [stdout] 482 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 483 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 484 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 789 | / gpio!(GPIOH, gpioh, gpiohen, PH, 7, [
[INFO] [stdout] 790 | |     PH0: (ph0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 791 | |     PH1: (ph1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 792 | |     PH2: (ph2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 805 | |     PH15: (ph15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 806 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 482 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 483 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 484 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:497:29
[INFO] [stdout]     |
[INFO] [stdout] 497 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 498 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 499 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 789 | / gpio!(GPIOH, gpioh, gpiohen, PH, 7, [
[INFO] [stdout] 790 | |     PH0: (ph0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 791 | |     PH1: (ph1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 792 | |     PH2: (ph2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 805 | |     PH15: (ph15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 806 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 497 ~                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 498 |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 499 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:510:29
[INFO] [stdout]     |
[INFO] [stdout] 510 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 511 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 512 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 789 | / gpio!(GPIOH, gpioh, gpiohen, PH, 7, [
[INFO] [stdout] 790 | |     PH0: (ph0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 791 | |     PH1: (ph1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 792 | |     PH2: (ph2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 805 | |     PH15: (ph15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 806 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 510 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 511 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 512 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:523:29
[INFO] [stdout]     |
[INFO] [stdout] 523 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 524 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 525 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 789 | / gpio!(GPIOH, gpioh, gpiohen, PH, 7, [
[INFO] [stdout] 790 | |     PH0: (ph0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 791 | |     PH1: (ph1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 792 | |     PH2: (ph2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 805 | |     PH15: (ph15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 806 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 523 ~                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 524 |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 525 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:537:29
[INFO] [stdout]     |
[INFO] [stdout] 537 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 538 | |                                 w.bits(r.bits() | (1 << offset))
[INFO] [stdout] 539 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 789 | / gpio!(GPIOH, gpioh, gpiohen, PH, 7, [
[INFO] [stdout] 790 | |     PH0: (ph0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 791 | |     PH1: (ph1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 792 | |     PH2: (ph2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 805 | |     PH15: (ph15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 806 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 537 ~                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 538 |                                 w.bits(r.bits() | (1 << offset))
[INFO] [stdout] 539 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:259:25
[INFO] [stdout]     |
[INFO] [stdout] 259 | /                         &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 260 | |                             w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 261 | |                         });
[INFO] [stdout]     | |__________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 808 | / gpio!(GPIOI, gpioi, gpioien, PI, 8, [
[INFO] [stdout] 809 | |     PI0: (pi0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 810 | |     PI1: (pi1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 811 | |     PI2: (pi2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 824 | |     PI15: (pi15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 825 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 259 |                         let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:25
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                         &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 265 | |                             w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 266 | |                         });
[INFO] [stdout]     | |__________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 808 | / gpio!(GPIOI, gpioi, gpioien, PI, 8, [
[INFO] [stdout] 809 | |     PI0: (pi0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 810 | |     PI1: (pi1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 811 | |     PI2: (pi2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 824 | |     PI15: (pi15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 825 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 264 |                         let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 | /                     &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 269 | |                         w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 270 | |                     });
[INFO] [stdout]     | |______________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 808 | / gpio!(GPIOI, gpioi, gpioien, PI, 8, [
[INFO] [stdout] 809 | |     PI0: (pi0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 810 | |     PI1: (pi1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 811 | |     PI2: (pi2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 824 | |     PI15: (pi15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 825 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 268 |                     let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:384:29
[INFO] [stdout]     |
[INFO] [stdout] 384 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 385 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 386 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 808 | / gpio!(GPIOI, gpioi, gpioien, PI, 8, [
[INFO] [stdout] 809 | |     PI0: (pi0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 810 | |     PI1: (pi1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 811 | |     PI2: (pi2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 824 | |     PI15: (pi15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 825 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 384 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 385 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 386 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:381:29
[INFO] [stdout]     |
[INFO] [stdout] 381 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 382 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 383 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 808 | / gpio!(GPIOI, gpioi, gpioien, PI, 8, [
[INFO] [stdout] 809 | |     PI0: (pi0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 810 | |     PI1: (pi1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 811 | |     PI2: (pi2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 824 | |     PI15: (pi15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 825 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 381 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:399:29
[INFO] [stdout]     |
[INFO] [stdout] 399 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 400 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 401 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 808 | / gpio!(GPIOI, gpioi, gpioien, PI, 8, [
[INFO] [stdout] 809 | |     PI0: (pi0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 810 | |     PI1: (pi1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 811 | |     PI2: (pi2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 824 | |     PI15: (pi15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 825 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 399 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 400 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 401 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:396:29
[INFO] [stdout]     |
[INFO] [stdout] 396 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 397 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 398 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 808 | / gpio!(GPIOI, gpioi, gpioien, PI, 8, [
[INFO] [stdout] 809 | |     PI0: (pi0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 810 | |     PI1: (pi1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 811 | |     PI2: (pi2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 824 | |     PI15: (pi15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 825 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 396 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:414:29
[INFO] [stdout]     |
[INFO] [stdout] 414 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 415 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 416 | |                             }
[INFO] [stdout] 417 | |                         )};
[INFO] [stdout]     | |_________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 808 | / gpio!(GPIOI, gpioi, gpioien, PI, 8, [
[INFO] [stdout] 809 | |     PI0: (pi0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 810 | |     PI1: (pi1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 811 | |     PI2: (pi2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 824 | |     PI15: (pi15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 825 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 414 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 415 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 416 |                             }
[INFO] [stdout] 417 ~                         );};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:411:29
[INFO] [stdout]     |
[INFO] [stdout] 411 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 412 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 413 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 808 | / gpio!(GPIOI, gpioi, gpioien, PI, 8, [
[INFO] [stdout] 809 | |     PI0: (pi0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 810 | |     PI1: (pi1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 811 | |     PI2: (pi2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 824 | |     PI15: (pi15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 825 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 411 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:432:29
[INFO] [stdout]     |
[INFO] [stdout] 432 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 433 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 434 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 808 | / gpio!(GPIOI, gpioi, gpioien, PI, 8, [
[INFO] [stdout] 809 | |     PI0: (pi0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 810 | |     PI1: (pi1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 811 | |     PI2: (pi2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 824 | |     PI15: (pi15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 825 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 432 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 433 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 434 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:426:29
[INFO] [stdout]     |
[INFO] [stdout] 426 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 427 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 428 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 808 | / gpio!(GPIOI, gpioi, gpioien, PI, 8, [
[INFO] [stdout] 809 | |     PI0: (pi0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 810 | |     PI1: (pi1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 811 | |     PI2: (pi2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 824 | |     PI15: (pi15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 825 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 426 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:429:29
[INFO] [stdout]     |
[INFO] [stdout] 429 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 430 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 431 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 808 | / gpio!(GPIOI, gpioi, gpioien, PI, 8, [
[INFO] [stdout] 809 | |     PI0: (pi0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 810 | |     PI1: (pi1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 811 | |     PI2: (pi2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 824 | |     PI15: (pi15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 825 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 429 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:451:29
[INFO] [stdout]     |
[INFO] [stdout] 451 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 452 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 453 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 808 | / gpio!(GPIOI, gpioi, gpioien, PI, 8, [
[INFO] [stdout] 809 | |     PI0: (pi0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 810 | |     PI1: (pi1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 811 | |     PI2: (pi2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 824 | |     PI15: (pi15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 825 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 451 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 452 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 453 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:445:29
[INFO] [stdout]     |
[INFO] [stdout] 445 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 446 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 447 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 808 | / gpio!(GPIOI, gpioi, gpioien, PI, 8, [
[INFO] [stdout] 809 | |     PI0: (pi0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 810 | |     PI1: (pi1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 811 | |     PI2: (pi2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 824 | |     PI15: (pi15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 825 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 445 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:448:29
[INFO] [stdout]     |
[INFO] [stdout] 448 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 449 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 450 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 808 | / gpio!(GPIOI, gpioi, gpioien, PI, 8, [
[INFO] [stdout] 809 | |     PI0: (pi0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 810 | |     PI1: (pi1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 811 | |     PI2: (pi2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 824 | |     PI15: (pi15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 825 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 448 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:467:29
[INFO] [stdout]     |
[INFO] [stdout] 467 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 468 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 469 | |                             }
[INFO] [stdout] 470 | |                         )};
[INFO] [stdout]     | |_________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 808 | / gpio!(GPIOI, gpioi, gpioien, PI, 8, [
[INFO] [stdout] 809 | |     PI0: (pi0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 810 | |     PI1: (pi1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 811 | |     PI2: (pi2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 824 | |     PI15: (pi15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 825 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 467 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 468 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 469 |                             }
[INFO] [stdout] 470 ~                         );};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:464:29
[INFO] [stdout]     |
[INFO] [stdout] 464 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 465 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 466 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 808 | / gpio!(GPIOI, gpioi, gpioien, PI, 8, [
[INFO] [stdout] 809 | |     PI0: (pi0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 810 | |     PI1: (pi1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 811 | |     PI2: (pi2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 824 | |     PI15: (pi15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 825 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 464 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:482:29
[INFO] [stdout]     |
[INFO] [stdout] 482 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 483 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 484 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 808 | / gpio!(GPIOI, gpioi, gpioien, PI, 8, [
[INFO] [stdout] 809 | |     PI0: (pi0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 810 | |     PI1: (pi1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 811 | |     PI2: (pi2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 824 | |     PI15: (pi15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 825 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 482 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 483 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 484 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:497:29
[INFO] [stdout]     |
[INFO] [stdout] 497 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 498 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 499 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 808 | / gpio!(GPIOI, gpioi, gpioien, PI, 8, [
[INFO] [stdout] 809 | |     PI0: (pi0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 810 | |     PI1: (pi1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 811 | |     PI2: (pi2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 824 | |     PI15: (pi15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 825 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 497 ~                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 498 |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 499 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:510:29
[INFO] [stdout]     |
[INFO] [stdout] 510 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 511 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 512 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 808 | / gpio!(GPIOI, gpioi, gpioien, PI, 8, [
[INFO] [stdout] 809 | |     PI0: (pi0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 810 | |     PI1: (pi1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 811 | |     PI2: (pi2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 824 | |     PI15: (pi15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 825 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 510 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 511 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 512 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:523:29
[INFO] [stdout]     |
[INFO] [stdout] 523 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 524 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 525 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 808 | / gpio!(GPIOI, gpioi, gpioien, PI, 8, [
[INFO] [stdout] 809 | |     PI0: (pi0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 810 | |     PI1: (pi1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 811 | |     PI2: (pi2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 824 | |     PI15: (pi15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 825 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 523 ~                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 524 |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 525 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:537:29
[INFO] [stdout]     |
[INFO] [stdout] 537 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 538 | |                                 w.bits(r.bits() | (1 << offset))
[INFO] [stdout] 539 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 808 | / gpio!(GPIOI, gpioi, gpioien, PI, 8, [
[INFO] [stdout] 809 | |     PI0: (pi0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 810 | |     PI1: (pi1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 811 | |     PI2: (pi2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 824 | |     PI15: (pi15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 825 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 537 ~                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 538 |                                 w.bits(r.bits() | (1 << offset))
[INFO] [stdout] 539 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:259:25
[INFO] [stdout]     |
[INFO] [stdout] 259 | /                         &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 260 | |                             w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 261 | |                         });
[INFO] [stdout]     | |__________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 827 | / gpio!(GPIOJ, gpioj, gpiojen, PJ, 9, [
[INFO] [stdout] 828 | |     PJ0: (pj0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 829 | |     PJ1: (pj1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 830 | |     PJ2: (pj2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 843 | |     PJ15: (pj15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 844 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 259 |                         let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:25
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                         &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 265 | |                             w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 266 | |                         });
[INFO] [stdout]     | |__________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 827 | / gpio!(GPIOJ, gpioj, gpiojen, PJ, 9, [
[INFO] [stdout] 828 | |     PJ0: (pj0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 829 | |     PJ1: (pj1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 830 | |     PJ2: (pj2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 843 | |     PJ15: (pj15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 844 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 264 |                         let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 | /                     &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 269 | |                         w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 270 | |                     });
[INFO] [stdout]     | |______________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 827 | / gpio!(GPIOJ, gpioj, gpiojen, PJ, 9, [
[INFO] [stdout] 828 | |     PJ0: (pj0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 829 | |     PJ1: (pj1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 830 | |     PJ2: (pj2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 843 | |     PJ15: (pj15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 844 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 268 |                     let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:384:29
[INFO] [stdout]     |
[INFO] [stdout] 384 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 385 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 386 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 827 | / gpio!(GPIOJ, gpioj, gpiojen, PJ, 9, [
[INFO] [stdout] 828 | |     PJ0: (pj0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 829 | |     PJ1: (pj1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 830 | |     PJ2: (pj2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 843 | |     PJ15: (pj15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 844 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 384 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 385 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 386 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:381:29
[INFO] [stdout]     |
[INFO] [stdout] 381 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 382 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 383 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 827 | / gpio!(GPIOJ, gpioj, gpiojen, PJ, 9, [
[INFO] [stdout] 828 | |     PJ0: (pj0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 829 | |     PJ1: (pj1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 830 | |     PJ2: (pj2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 843 | |     PJ15: (pj15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 844 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 381 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:399:29
[INFO] [stdout]     |
[INFO] [stdout] 399 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 400 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 401 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 827 | / gpio!(GPIOJ, gpioj, gpiojen, PJ, 9, [
[INFO] [stdout] 828 | |     PJ0: (pj0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 829 | |     PJ1: (pj1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 830 | |     PJ2: (pj2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 843 | |     PJ15: (pj15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 844 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 399 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 400 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 401 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:396:29
[INFO] [stdout]     |
[INFO] [stdout] 396 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 397 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 398 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 827 | / gpio!(GPIOJ, gpioj, gpiojen, PJ, 9, [
[INFO] [stdout] 828 | |     PJ0: (pj0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 829 | |     PJ1: (pj1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 830 | |     PJ2: (pj2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 843 | |     PJ15: (pj15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 844 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 396 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:414:29
[INFO] [stdout]     |
[INFO] [stdout] 414 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 415 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 416 | |                             }
[INFO] [stdout] 417 | |                         )};
[INFO] [stdout]     | |_________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 827 | / gpio!(GPIOJ, gpioj, gpiojen, PJ, 9, [
[INFO] [stdout] 828 | |     PJ0: (pj0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 829 | |     PJ1: (pj1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 830 | |     PJ2: (pj2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 843 | |     PJ15: (pj15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 844 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 414 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 415 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 416 |                             }
[INFO] [stdout] 417 ~                         );};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:411:29
[INFO] [stdout]     |
[INFO] [stdout] 411 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 412 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 413 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 827 | / gpio!(GPIOJ, gpioj, gpiojen, PJ, 9, [
[INFO] [stdout] 828 | |     PJ0: (pj0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 829 | |     PJ1: (pj1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 830 | |     PJ2: (pj2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 843 | |     PJ15: (pj15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 844 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 411 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:432:29
[INFO] [stdout]     |
[INFO] [stdout] 432 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 433 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 434 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 827 | / gpio!(GPIOJ, gpioj, gpiojen, PJ, 9, [
[INFO] [stdout] 828 | |     PJ0: (pj0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 829 | |     PJ1: (pj1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 830 | |     PJ2: (pj2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 843 | |     PJ15: (pj15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 844 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 432 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 433 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 434 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:426:29
[INFO] [stdout]     |
[INFO] [stdout] 426 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 427 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 428 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 827 | / gpio!(GPIOJ, gpioj, gpiojen, PJ, 9, [
[INFO] [stdout] 828 | |     PJ0: (pj0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 829 | |     PJ1: (pj1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 830 | |     PJ2: (pj2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 843 | |     PJ15: (pj15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 844 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 426 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:429:29
[INFO] [stdout]     |
[INFO] [stdout] 429 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 430 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 431 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 827 | / gpio!(GPIOJ, gpioj, gpiojen, PJ, 9, [
[INFO] [stdout] 828 | |     PJ0: (pj0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 829 | |     PJ1: (pj1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 830 | |     PJ2: (pj2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 843 | |     PJ15: (pj15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 844 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 429 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:451:29
[INFO] [stdout]     |
[INFO] [stdout] 451 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 452 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 453 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 827 | / gpio!(GPIOJ, gpioj, gpiojen, PJ, 9, [
[INFO] [stdout] 828 | |     PJ0: (pj0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 829 | |     PJ1: (pj1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 830 | |     PJ2: (pj2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 843 | |     PJ15: (pj15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 844 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 451 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 452 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 453 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:445:29
[INFO] [stdout]     |
[INFO] [stdout] 445 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 446 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 447 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 827 | / gpio!(GPIOJ, gpioj, gpiojen, PJ, 9, [
[INFO] [stdout] 828 | |     PJ0: (pj0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 829 | |     PJ1: (pj1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 830 | |     PJ2: (pj2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 843 | |     PJ15: (pj15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 844 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 445 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:448:29
[INFO] [stdout]     |
[INFO] [stdout] 448 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 449 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 450 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 827 | / gpio!(GPIOJ, gpioj, gpiojen, PJ, 9, [
[INFO] [stdout] 828 | |     PJ0: (pj0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 829 | |     PJ1: (pj1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 830 | |     PJ2: (pj2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 843 | |     PJ15: (pj15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 844 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 448 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:467:29
[INFO] [stdout]     |
[INFO] [stdout] 467 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 468 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 469 | |                             }
[INFO] [stdout] 470 | |                         )};
[INFO] [stdout]     | |_________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 827 | / gpio!(GPIOJ, gpioj, gpiojen, PJ, 9, [
[INFO] [stdout] 828 | |     PJ0: (pj0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 829 | |     PJ1: (pj1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 830 | |     PJ2: (pj2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 843 | |     PJ15: (pj15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 844 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 467 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 468 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 469 |                             }
[INFO] [stdout] 470 ~                         );};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:464:29
[INFO] [stdout]     |
[INFO] [stdout] 464 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 465 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 466 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 827 | / gpio!(GPIOJ, gpioj, gpiojen, PJ, 9, [
[INFO] [stdout] 828 | |     PJ0: (pj0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 829 | |     PJ1: (pj1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 830 | |     PJ2: (pj2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 843 | |     PJ15: (pj15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 844 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 464 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:482:29
[INFO] [stdout]     |
[INFO] [stdout] 482 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 483 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 484 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 827 | / gpio!(GPIOJ, gpioj, gpiojen, PJ, 9, [
[INFO] [stdout] 828 | |     PJ0: (pj0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 829 | |     PJ1: (pj1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 830 | |     PJ2: (pj2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 843 | |     PJ15: (pj15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 844 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 482 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 483 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 484 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:497:29
[INFO] [stdout]     |
[INFO] [stdout] 497 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 498 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 499 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 827 | / gpio!(GPIOJ, gpioj, gpiojen, PJ, 9, [
[INFO] [stdout] 828 | |     PJ0: (pj0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 829 | |     PJ1: (pj1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 830 | |     PJ2: (pj2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 843 | |     PJ15: (pj15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 844 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 497 ~                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 498 |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 499 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:510:29
[INFO] [stdout]     |
[INFO] [stdout] 510 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 511 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 512 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 827 | / gpio!(GPIOJ, gpioj, gpiojen, PJ, 9, [
[INFO] [stdout] 828 | |     PJ0: (pj0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 829 | |     PJ1: (pj1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 830 | |     PJ2: (pj2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 843 | |     PJ15: (pj15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 844 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 510 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 511 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 512 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:523:29
[INFO] [stdout]     |
[INFO] [stdout] 523 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 524 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 525 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 827 | / gpio!(GPIOJ, gpioj, gpiojen, PJ, 9, [
[INFO] [stdout] 828 | |     PJ0: (pj0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 829 | |     PJ1: (pj1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 830 | |     PJ2: (pj2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 843 | |     PJ15: (pj15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 844 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 523 ~                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 524 |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 525 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:537:29
[INFO] [stdout]     |
[INFO] [stdout] 537 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 538 | |                                 w.bits(r.bits() | (1 << offset))
[INFO] [stdout] 539 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 827 | / gpio!(GPIOJ, gpioj, gpiojen, PJ, 9, [
[INFO] [stdout] 828 | |     PJ0: (pj0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 829 | |     PJ1: (pj1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 830 | |     PJ2: (pj2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 843 | |     PJ15: (pj15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 844 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 537 ~                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 538 |                                 w.bits(r.bits() | (1 << offset))
[INFO] [stdout] 539 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:259:25
[INFO] [stdout]     |
[INFO] [stdout] 259 | /                         &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 260 | |                             w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 261 | |                         });
[INFO] [stdout]     | |__________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 846 | / gpio!(GPIOK, gpiok, gpioken, PK, 10, [
[INFO] [stdout] 847 | |     PK0: (pk0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 848 | |     PK1: (pk1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 849 | |     PK2: (pk2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 854 | |     PK7: (pk7, 7, Input<Floating>, exticr2),
[INFO] [stdout] 855 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 259 |                         let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:25
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                         &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 265 | |                             w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 266 | |                         });
[INFO] [stdout]     | |__________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 846 | / gpio!(GPIOK, gpiok, gpioken, PK, 10, [
[INFO] [stdout] 847 | |     PK0: (pk0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 848 | |     PK1: (pk1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 849 | |     PK2: (pk2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 854 | |     PK7: (pk7, 7, Input<Floating>, exticr2),
[INFO] [stdout] 855 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 264 |                         let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 | /                     &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 269 | |                         w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 270 | |                     });
[INFO] [stdout]     | |______________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 846 | / gpio!(GPIOK, gpiok, gpioken, PK, 10, [
[INFO] [stdout] 847 | |     PK0: (pk0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 848 | |     PK1: (pk1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 849 | |     PK2: (pk2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 854 | |     PK7: (pk7, 7, Input<Floating>, exticr2),
[INFO] [stdout] 855 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 268 |                     let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:384:29
[INFO] [stdout]     |
[INFO] [stdout] 384 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 385 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 386 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 846 | / gpio!(GPIOK, gpiok, gpioken, PK, 10, [
[INFO] [stdout] 847 | |     PK0: (pk0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 848 | |     PK1: (pk1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 849 | |     PK2: (pk2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 854 | |     PK7: (pk7, 7, Input<Floating>, exticr2),
[INFO] [stdout] 855 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 384 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 385 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 386 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:381:29
[INFO] [stdout]     |
[INFO] [stdout] 381 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 382 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 383 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 846 | / gpio!(GPIOK, gpiok, gpioken, PK, 10, [
[INFO] [stdout] 847 | |     PK0: (pk0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 848 | |     PK1: (pk1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 849 | |     PK2: (pk2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 854 | |     PK7: (pk7, 7, Input<Floating>, exticr2),
[INFO] [stdout] 855 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 381 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:399:29
[INFO] [stdout]     |
[INFO] [stdout] 399 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 400 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 401 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 846 | / gpio!(GPIOK, gpiok, gpioken, PK, 10, [
[INFO] [stdout] 847 | |     PK0: (pk0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 848 | |     PK1: (pk1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 849 | |     PK2: (pk2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 854 | |     PK7: (pk7, 7, Input<Floating>, exticr2),
[INFO] [stdout] 855 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 399 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 400 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 401 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:396:29
[INFO] [stdout]     |
[INFO] [stdout] 396 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 397 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 398 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 846 | / gpio!(GPIOK, gpiok, gpioken, PK, 10, [
[INFO] [stdout] 847 | |     PK0: (pk0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 848 | |     PK1: (pk1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 849 | |     PK2: (pk2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 854 | |     PK7: (pk7, 7, Input<Floating>, exticr2),
[INFO] [stdout] 855 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 396 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:414:29
[INFO] [stdout]     |
[INFO] [stdout] 414 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 415 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 416 | |                             }
[INFO] [stdout] 417 | |                         )};
[INFO] [stdout]     | |_________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 846 | / gpio!(GPIOK, gpiok, gpioken, PK, 10, [
[INFO] [stdout] 847 | |     PK0: (pk0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 848 | |     PK1: (pk1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 849 | |     PK2: (pk2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 854 | |     PK7: (pk7, 7, Input<Floating>, exticr2),
[INFO] [stdout] 855 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 414 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 415 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 416 |                             }
[INFO] [stdout] 417 ~                         );};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:411:29
[INFO] [stdout]     |
[INFO] [stdout] 411 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 412 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 413 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 846 | / gpio!(GPIOK, gpiok, gpioken, PK, 10, [
[INFO] [stdout] 847 | |     PK0: (pk0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 848 | |     PK1: (pk1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 849 | |     PK2: (pk2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 854 | |     PK7: (pk7, 7, Input<Floating>, exticr2),
[INFO] [stdout] 855 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 411 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:432:29
[INFO] [stdout]     |
[INFO] [stdout] 432 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 433 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 434 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 846 | / gpio!(GPIOK, gpiok, gpioken, PK, 10, [
[INFO] [stdout] 847 | |     PK0: (pk0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 848 | |     PK1: (pk1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 849 | |     PK2: (pk2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 854 | |     PK7: (pk7, 7, Input<Floating>, exticr2),
[INFO] [stdout] 855 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 432 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 433 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 434 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:426:29
[INFO] [stdout]     |
[INFO] [stdout] 426 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 427 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 428 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 846 | / gpio!(GPIOK, gpiok, gpioken, PK, 10, [
[INFO] [stdout] 847 | |     PK0: (pk0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 848 | |     PK1: (pk1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 849 | |     PK2: (pk2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 854 | |     PK7: (pk7, 7, Input<Floating>, exticr2),
[INFO] [stdout] 855 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 426 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:429:29
[INFO] [stdout]     |
[INFO] [stdout] 429 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 430 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 431 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 846 | / gpio!(GPIOK, gpiok, gpioken, PK, 10, [
[INFO] [stdout] 847 | |     PK0: (pk0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 848 | |     PK1: (pk1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 849 | |     PK2: (pk2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 854 | |     PK7: (pk7, 7, Input<Floating>, exticr2),
[INFO] [stdout] 855 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 429 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:451:29
[INFO] [stdout]     |
[INFO] [stdout] 451 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 452 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 453 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 846 | / gpio!(GPIOK, gpiok, gpioken, PK, 10, [
[INFO] [stdout] 847 | |     PK0: (pk0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 848 | |     PK1: (pk1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 849 | |     PK2: (pk2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 854 | |     PK7: (pk7, 7, Input<Floating>, exticr2),
[INFO] [stdout] 855 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 451 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 452 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 453 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:445:29
[INFO] [stdout]     |
[INFO] [stdout] 445 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 446 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 447 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 846 | / gpio!(GPIOK, gpiok, gpioken, PK, 10, [
[INFO] [stdout] 847 | |     PK0: (pk0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 848 | |     PK1: (pk1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 849 | |     PK2: (pk2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 854 | |     PK7: (pk7, 7, Input<Floating>, exticr2),
[INFO] [stdout] 855 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 445 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:448:29
[INFO] [stdout]     |
[INFO] [stdout] 448 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 449 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 450 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 846 | / gpio!(GPIOK, gpiok, gpioken, PK, 10, [
[INFO] [stdout] 847 | |     PK0: (pk0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 848 | |     PK1: (pk1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 849 | |     PK2: (pk2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 854 | |     PK7: (pk7, 7, Input<Floating>, exticr2),
[INFO] [stdout] 855 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 448 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:467:29
[INFO] [stdout]     |
[INFO] [stdout] 467 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 468 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 469 | |                             }
[INFO] [stdout] 470 | |                         )};
[INFO] [stdout]     | |_________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 846 | / gpio!(GPIOK, gpiok, gpioken, PK, 10, [
[INFO] [stdout] 847 | |     PK0: (pk0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 848 | |     PK1: (pk1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 849 | |     PK2: (pk2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 854 | |     PK7: (pk7, 7, Input<Floating>, exticr2),
[INFO] [stdout] 855 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 467 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 468 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 469 |                             }
[INFO] [stdout] 470 ~                         );};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:464:29
[INFO] [stdout]     |
[INFO] [stdout] 464 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 465 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 466 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 846 | / gpio!(GPIOK, gpiok, gpioken, PK, 10, [
[INFO] [stdout] 847 | |     PK0: (pk0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 848 | |     PK1: (pk1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 849 | |     PK2: (pk2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 854 | |     PK7: (pk7, 7, Input<Floating>, exticr2),
[INFO] [stdout] 855 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 464 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:482:29
[INFO] [stdout]     |
[INFO] [stdout] 482 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 483 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 484 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 846 | / gpio!(GPIOK, gpiok, gpioken, PK, 10, [
[INFO] [stdout] 847 | |     PK0: (pk0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 848 | |     PK1: (pk1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 849 | |     PK2: (pk2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 854 | |     PK7: (pk7, 7, Input<Floating>, exticr2),
[INFO] [stdout] 855 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 482 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 483 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 484 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:497:29
[INFO] [stdout]     |
[INFO] [stdout] 497 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 498 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 499 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 846 | / gpio!(GPIOK, gpiok, gpioken, PK, 10, [
[INFO] [stdout] 847 | |     PK0: (pk0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 848 | |     PK1: (pk1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 849 | |     PK2: (pk2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 854 | |     PK7: (pk7, 7, Input<Floating>, exticr2),
[INFO] [stdout] 855 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 497 ~                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 498 |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 499 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:510:29
[INFO] [stdout]     |
[INFO] [stdout] 510 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 511 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 512 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 846 | / gpio!(GPIOK, gpiok, gpioken, PK, 10, [
[INFO] [stdout] 847 | |     PK0: (pk0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 848 | |     PK1: (pk1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 849 | |     PK2: (pk2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 854 | |     PK7: (pk7, 7, Input<Floating>, exticr2),
[INFO] [stdout] 855 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 510 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 511 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 512 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:523:29
[INFO] [stdout]     |
[INFO] [stdout] 523 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 524 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 525 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 846 | / gpio!(GPIOK, gpiok, gpioken, PK, 10, [
[INFO] [stdout] 847 | |     PK0: (pk0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 848 | |     PK1: (pk1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 849 | |     PK2: (pk2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 854 | |     PK7: (pk7, 7, Input<Floating>, exticr2),
[INFO] [stdout] 855 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 523 ~                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 524 |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 525 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:537:29
[INFO] [stdout]     |
[INFO] [stdout] 537 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 538 | |                                 w.bits(r.bits() | (1 << offset))
[INFO] [stdout] 539 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 846 | / gpio!(GPIOK, gpiok, gpioken, PK, 10, [
[INFO] [stdout] 847 | |     PK0: (pk0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 848 | |     PK1: (pk1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 849 | |     PK2: (pk2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 854 | |     PK7: (pk7, 7, Input<Floating>, exticr2),
[INFO] [stdout] 855 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 537 ~                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 538 |                                 w.bits(r.bits() | (1 << offset))
[INFO] [stdout] 539 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: assigning to `&T` is undefined behavior, consider using an `UnsafeCell`
[INFO] [stdout]    --> src/serial.rs:456:34
[INFO] [stdout]     |
[INFO] [stdout] 456 |                           unsafe { ptr::write_volatile(&(*$USARTX::ptr()).tdr as *const _ as *mut _, byte) }
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 525 | / halUsart! {
[INFO] [stdout] 526 | |     USART1: (usart1, apb2enr, usart1en, pclk2),
[INFO] [stdout] 527 | |     USART2: (usart2, apb1enr, usart2en, pclk1),
[INFO] [stdout] 528 | |     USART6: (usart6, apb2enr, usart6en, pclk2),
[INFO] [stdout] 529 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout]     = note: even for types with interior mutability, the only legal way to obtain a mutable pointer from a shared reference is through `UnsafeCell::get`
[INFO] [stdout]     = note: `#[warn(invalid_reference_casting)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `halUsartImpl` which comes from the expansion of the macro `halUsart` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: assigning to `&T` is undefined behavior, consider using an `UnsafeCell`
[INFO] [stdout]    --> src/serial.rs:456:34
[INFO] [stdout]     |
[INFO] [stdout] 456 |                           unsafe { ptr::write_volatile(&(*$USARTX::ptr()).tdr as *const _ as *mut _, byte) }
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 532 | / halUsart! {
[INFO] [stdout] 533 | |     USART3: (usart3, apb1enr, usart3en, pclk1),
[INFO] [stdout] 534 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout]     = note: even for types with interior mutability, the only legal way to obtain a mutable pointer from a shared reference is through `UnsafeCell::get`
[INFO] [stdout]     = note: this warning originates in the macro `halUsartImpl` which comes from the expansion of the macro `halUsart` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: assigning to `&T` is undefined behavior, consider using an `UnsafeCell`
[INFO] [stdout]    --> src/serial.rs:456:34
[INFO] [stdout]     |
[INFO] [stdout] 456 |                           unsafe { ptr::write_volatile(&(*$USARTX::ptr()).tdr as *const _ as *mut _, byte) }
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 536 | / halUart! {
[INFO] [stdout] 537 | |     UART4: (uart4, apb1enr, uart4en, pclk1),
[INFO] [stdout] 538 | |     UART5: (uart5, apb1enr, uart5en, pclk1),
[INFO] [stdout] 539 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout]     = note: even for types with interior mutability, the only legal way to obtain a mutable pointer from a shared reference is through `UnsafeCell::get`
[INFO] [stdout]     = note: this warning originates in the macro `halUsartImpl` which comes from the expansion of the macro `halUart` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: assigning to `&T` is undefined behavior, consider using an `UnsafeCell`
[INFO] [stdout]    --> src/serial.rs:456:34
[INFO] [stdout]     |
[INFO] [stdout] 456 |                           unsafe { ptr::write_volatile(&(*$USARTX::ptr()).tdr as *const _ as *mut _, byte) }
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 541 | / halUsart! {
[INFO] [stdout] 542 | |     UART7: (uart7, apb1enr, uart7en, pclk1),
[INFO] [stdout] 543 | |     UART8: (uart8, apb1enr, uart8en, pclk1),
[INFO] [stdout] 544 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout]     = note: even for types with interior mutability, the only legal way to obtain a mutable pointer from a shared reference is through `UnsafeCell::get`
[INFO] [stdout]     = note: this warning originates in the macro `halUsartImpl` which comes from the expansion of the macro `halUsart` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: assigning to `&T` is undefined behavior, consider using an `UnsafeCell`
[INFO] [stdout]    --> src/spi.rs:544:22
[INFO] [stdout]     |
[INFO] [stdout] 544 |             unsafe { ptr::write_volatile(&self.spi.dr as *const _ as *mut u8, byte) }
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: 310 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "37834bc4b9ff48397b29746b6eb8b5339f5388141867e83e5eca3e39c64791d7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "37834bc4b9ff48397b29746b6eb8b5339f5388141867e83e5eca3e39c64791d7", kill_on_drop: false }`
[INFO] [stdout] 37834bc4b9ff48397b29746b6eb8b5339f5388141867e83e5eca3e39c64791d7
[INFO] testing stm32f7x7-hal-0.2.1 against beta-2023-12-22 for beta-1.76-1
[INFO] extracting crate stm32f7x7-hal 0.2.1 into /workspace/builds/worker-4-tc2/source
[INFO] validating manifest of crates.io crate stm32f7x7-hal 0.2.1 on toolchain beta-2023-12-22
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-12-22" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] removed /workspace/builds/worker-4-tc2/source/.cargo/config
[INFO] started tweaking crates.io crate stm32f7x7-hal 0.2.1
[INFO] finished tweaking crates.io crate stm32f7x7-hal 0.2.1
[INFO] tweaked toml for crates.io crate stm32f7x7-hal 0.2.1 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-12-22" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-12-22" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-12-22" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6bb221d46be73000e1866f58f5d5260190e95fc533775451c189e294825b930d
[INFO] running `Command { std: "docker" "start" "-a" "6bb221d46be73000e1866f58f5d5260190e95fc533775451c189e294825b930d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6bb221d46be73000e1866f58f5d5260190e95fc533775451c189e294825b930d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6bb221d46be73000e1866f58f5d5260190e95fc533775451c189e294825b930d", kill_on_drop: false }`
[INFO] [stdout] 6bb221d46be73000e1866f58f5d5260190e95fc533775451c189e294825b930d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-12-22" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0bae9a77355a5a882683ea35c488866a1f296f6f01eba5479791f7834e7e23f7
[INFO] running `Command { std: "docker" "start" "-a" "0bae9a77355a5a882683ea35c488866a1f296f6f01eba5479791f7834e7e23f7", kill_on_drop: false }`
[INFO] [stderr]    Compiling cortex-m v0.7.7
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling bitfield v0.13.2
[INFO] [stderr]    Compiling cortex-m v0.6.7
[INFO] [stderr]    Compiling cortex-m-rt v0.6.15
[INFO] [stderr]    Compiling stm32f7 v0.7.1
[INFO] [stderr]    Compiling nb v0.1.3
[INFO] [stderr]    Compiling r0 v0.2.2
[INFO] [stderr]    Compiling generic-array v0.13.3
[INFO] [stderr]    Compiling bare-metal v0.2.5
[INFO] [stderr]    Compiling cast v0.2.7
[INFO] [stderr]    Compiling cortex-m-rt-macros v0.6.15
[INFO] [stderr]    Compiling embedded-hal v0.2.7
[INFO] [stderr]    Compiling as-slice v0.1.5
[INFO] [stderr]    Compiling aligned v0.3.5
[INFO] [stderr]    Compiling stm32f7x7-hal v0.2.1 (/opt/rustwide/workdir)
[INFO] [stderr] error: could not compile `stm32f7` (lib)
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/beta-2023-12-22-x86_64-unknown-linux-gnu/bin/rustc --crate-name stm32f7 --edition=2018 /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/stm32f7-0.7.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="stm32f7x7"' -C metadata=b6706d09e089c246 -C extra-filename=-b6706d09e089c246 --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern bare_metal=/opt/rustwide/target/debug/deps/libbare_metal-d981cc6745986370.rmeta --extern cortex_m=/opt/rustwide/target/debug/deps/libcortex_m-e8b996adbd61e6dc.rmeta --extern vcell=/opt/rustwide/target/debug/deps/libvcell-655c7e21aef9f24b.rmeta --cap-lints allow --cap-lints=warn` (signal: 9, SIGKILL: kill)
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/adc.rs:918:26
[INFO] [stdout]      |
[INFO] [stdout] 918  |                         0...9   => self.adc_reg.smpr2.modify(|r, w| unsafe { w.bits(replace_bits(r.bits(), ch, 3, st)) }),
[INFO] [stdout]      |                          ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 1006 | adc!(ADC1 => (adc1, ADC_COMMON, apb2enr, adc1en, apb2rstr, adcrst));
[INFO] [stdout]      | ------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]      = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout]      = note: this warning originates in the macro `adc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/adc.rs:919:27
[INFO] [stdout]      |
[INFO] [stdout] 919  |                         10...18 => self.adc_reg.smpr1.modify(|r, w| unsafe { w.bits(replace_bits(r.bits(), ch-10, 3, st)) }),
[INFO] [stdout]      |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 1006 | adc!(ADC1 => (adc1, ADC_COMMON, apb2enr, adc1en, apb2rstr, adcrst));
[INFO] [stdout]      | ------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]      = note: this warning originates in the macro `adc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/adc.rs:918:26
[INFO] [stdout]      |
[INFO] [stdout] 918  |                         0...9   => self.adc_reg.smpr2.modify(|r, w| unsafe { w.bits(replace_bits(r.bits(), ch, 3, st)) }),
[INFO] [stdout]      |                          ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 1007 | adc!(ADC2 => (adc2, ADC_COMMON, apb2enr, adc2en, apb2rstr, adcrst));
[INFO] [stdout]      | ------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]      = note: this warning originates in the macro `adc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/adc.rs:919:27
[INFO] [stdout]      |
[INFO] [stdout] 919  |                         10...18 => self.adc_reg.smpr1.modify(|r, w| unsafe { w.bits(replace_bits(r.bits(), ch-10, 3, st)) }),
[INFO] [stdout]      |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 1007 | adc!(ADC2 => (adc2, ADC_COMMON, apb2enr, adc2en, apb2rstr, adcrst));
[INFO] [stdout]      | ------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]      = note: this warning originates in the macro `adc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/adc.rs:918:26
[INFO] [stdout]      |
[INFO] [stdout] 918  |                         0...9   => self.adc_reg.smpr2.modify(|r, w| unsafe { w.bits(replace_bits(r.bits(), ch, 3, st)) }),
[INFO] [stdout]      |                          ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 1008 | adc!(ADC3 => (adc3, ADC_COMMON, apb2enr, adc3en, apb2rstr, adcrst));
[INFO] [stdout]      | ------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]      = note: this warning originates in the macro `adc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/adc.rs:919:27
[INFO] [stdout]      |
[INFO] [stdout] 919  |                         10...18 => self.adc_reg.smpr1.modify(|r, w| unsafe { w.bits(replace_bits(r.bits(), ch-10, 3, st)) }),
[INFO] [stdout]      |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 1008 | adc!(ADC3 => (adc3, ADC_COMMON, apb2enr, adc3en, apb2rstr, adcrst));
[INFO] [stdout]      | ------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]      = note: this warning originates in the macro `adc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:195:26
[INFO] [stdout]     |
[INFO] [stdout] 195 |                           0...3 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:200:26
[INFO] [stdout]     |
[INFO] [stdout] 200 |                           4...7 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:205:26
[INFO] [stdout]     |
[INFO] [stdout] 205 |                           8...11 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:210:27
[INFO] [stdout]     |
[INFO] [stdout] 210 |                           12...15 => {
[INFO] [stdout]     |                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:195:26
[INFO] [stdout]     |
[INFO] [stdout] 195 |                           0...3 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:200:26
[INFO] [stdout]     |
[INFO] [stdout] 200 |                           4...7 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:205:26
[INFO] [stdout]     |
[INFO] [stdout] 205 |                           8...11 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:210:27
[INFO] [stdout]     |
[INFO] [stdout] 210 |                           12...15 => {
[INFO] [stdout]     |                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:195:26
[INFO] [stdout]     |
[INFO] [stdout] 195 |                           0...3 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:200:26
[INFO] [stdout]     |
[INFO] [stdout] 200 |                           4...7 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:205:26
[INFO] [stdout]     |
[INFO] [stdout] 205 |                           8...11 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:210:27
[INFO] [stdout]     |
[INFO] [stdout] 210 |                           12...15 => {
[INFO] [stdout]     |                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:195:26
[INFO] [stdout]     |
[INFO] [stdout] 195 |                           0...3 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 713 | / gpio!(GPIOD, gpiod, gpioden, PD, 3, [
[INFO] [stdout] 714 | |     PD0: (pd0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 715 | |     PD1: (pd1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 716 | |     PD2: (pd2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 729 | |     PD15: (pd15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 730 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:200:26
[INFO] [stdout]     |
[INFO] [stdout] 200 |                           4...7 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 713 | / gpio!(GPIOD, gpiod, gpioden, PD, 3, [
[INFO] [stdout] 714 | |     PD0: (pd0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 715 | |     PD1: (pd1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 716 | |     PD2: (pd2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 729 | |     PD15: (pd15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 730 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:205:26
[INFO] [stdout]     |
[INFO] [stdout] 205 |                           8...11 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 713 | / gpio!(GPIOD, gpiod, gpioden, PD, 3, [
[INFO] [stdout] 714 | |     PD0: (pd0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 715 | |     PD1: (pd1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 716 | |     PD2: (pd2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 729 | |     PD15: (pd15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 730 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:210:27
[INFO] [stdout]     |
[INFO] [stdout] 210 |                           12...15 => {
[INFO] [stdout]     |                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 713 | / gpio!(GPIOD, gpiod, gpioden, PD, 3, [
[INFO] [stdout] 714 | |     PD0: (pd0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 715 | |     PD1: (pd1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 716 | |     PD2: (pd2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 729 | |     PD15: (pd15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 730 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:195:26
[INFO] [stdout]     |
[INFO] [stdout] 195 |                           0...3 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 732 | / gpio!(GPIOE, gpioe, gpioeen, PE, 4, [
[INFO] [stdout] 733 | |     PE0: (pe0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 734 | |     PE1: (pe1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 735 | |     PE2: (pe2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 748 | |     PE15: (pe15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 749 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:200:26
[INFO] [stdout]     |
[INFO] [stdout] 200 |                           4...7 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 732 | / gpio!(GPIOE, gpioe, gpioeen, PE, 4, [
[INFO] [stdout] 733 | |     PE0: (pe0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 734 | |     PE1: (pe1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 735 | |     PE2: (pe2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 748 | |     PE15: (pe15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 749 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:205:26
[INFO] [stdout]     |
[INFO] [stdout] 205 |                           8...11 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 732 | / gpio!(GPIOE, gpioe, gpioeen, PE, 4, [
[INFO] [stdout] 733 | |     PE0: (pe0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 734 | |     PE1: (pe1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 735 | |     PE2: (pe2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 748 | |     PE15: (pe15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 749 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:210:27
[INFO] [stdout]     |
[INFO] [stdout] 210 |                           12...15 => {
[INFO] [stdout]     |                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 732 | / gpio!(GPIOE, gpioe, gpioeen, PE, 4, [
[INFO] [stdout] 733 | |     PE0: (pe0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 734 | |     PE1: (pe1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 735 | |     PE2: (pe2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 748 | |     PE15: (pe15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 749 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:195:26
[INFO] [stdout]     |
[INFO] [stdout] 195 |                           0...3 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 751 | / gpio!(GPIOF, gpiof, gpiofen, PF, 5, [
[INFO] [stdout] 752 | |     PF0: (pf0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 753 | |     PF1: (pf1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 754 | |     PF2: (pf2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 767 | |     PF15: (pf15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 768 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:200:26
[INFO] [stdout]     |
[INFO] [stdout] 200 |                           4...7 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 751 | / gpio!(GPIOF, gpiof, gpiofen, PF, 5, [
[INFO] [stdout] 752 | |     PF0: (pf0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 753 | |     PF1: (pf1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 754 | |     PF2: (pf2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 767 | |     PF15: (pf15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 768 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:205:26
[INFO] [stdout]     |
[INFO] [stdout] 205 |                           8...11 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 751 | / gpio!(GPIOF, gpiof, gpiofen, PF, 5, [
[INFO] [stdout] 752 | |     PF0: (pf0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 753 | |     PF1: (pf1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 754 | |     PF2: (pf2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 767 | |     PF15: (pf15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 768 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:210:27
[INFO] [stdout]     |
[INFO] [stdout] 210 |                           12...15 => {
[INFO] [stdout]     |                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 751 | / gpio!(GPIOF, gpiof, gpiofen, PF, 5, [
[INFO] [stdout] 752 | |     PF0: (pf0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 753 | |     PF1: (pf1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 754 | |     PF2: (pf2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 767 | |     PF15: (pf15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 768 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:195:26
[INFO] [stdout]     |
[INFO] [stdout] 195 |                           0...3 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 770 | / gpio!(GPIOG, gpiog, gpiogen, PG, 6, [
[INFO] [stdout] 771 | |     PG0: (pg0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 772 | |     PG1: (pg1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 773 | |     PG2: (pg2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |     PG15: (pg15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 787 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:200:26
[INFO] [stdout]     |
[INFO] [stdout] 200 |                           4...7 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 770 | / gpio!(GPIOG, gpiog, gpiogen, PG, 6, [
[INFO] [stdout] 771 | |     PG0: (pg0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 772 | |     PG1: (pg1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 773 | |     PG2: (pg2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |     PG15: (pg15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 787 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:205:26
[INFO] [stdout]     |
[INFO] [stdout] 205 |                           8...11 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 770 | / gpio!(GPIOG, gpiog, gpiogen, PG, 6, [
[INFO] [stdout] 771 | |     PG0: (pg0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 772 | |     PG1: (pg1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 773 | |     PG2: (pg2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |     PG15: (pg15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 787 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:210:27
[INFO] [stdout]     |
[INFO] [stdout] 210 |                           12...15 => {
[INFO] [stdout]     |                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 770 | / gpio!(GPIOG, gpiog, gpiogen, PG, 6, [
[INFO] [stdout] 771 | |     PG0: (pg0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 772 | |     PG1: (pg1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 773 | |     PG2: (pg2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 786 | |     PG15: (pg15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 787 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:195:26
[INFO] [stdout]     |
[INFO] [stdout] 195 |                           0...3 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 789 | / gpio!(GPIOH, gpioh, gpiohen, PH, 7, [
[INFO] [stdout] 790 | |     PH0: (ph0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 791 | |     PH1: (ph1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 792 | |     PH2: (ph2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 805 | |     PH15: (ph15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 806 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:200:26
[INFO] [stdout]     |
[INFO] [stdout] 200 |                           4...7 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 789 | / gpio!(GPIOH, gpioh, gpiohen, PH, 7, [
[INFO] [stdout] 790 | |     PH0: (ph0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 791 | |     PH1: (ph1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 792 | |     PH2: (ph2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 805 | |     PH15: (ph15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 806 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:205:26
[INFO] [stdout]     |
[INFO] [stdout] 205 |                           8...11 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 789 | / gpio!(GPIOH, gpioh, gpiohen, PH, 7, [
[INFO] [stdout] 790 | |     PH0: (ph0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 791 | |     PH1: (ph1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 792 | |     PH2: (ph2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 805 | |     PH15: (ph15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 806 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:210:27
[INFO] [stdout]     |
[INFO] [stdout] 210 |                           12...15 => {
[INFO] [stdout]     |                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 789 | / gpio!(GPIOH, gpioh, gpiohen, PH, 7, [
[INFO] [stdout] 790 | |     PH0: (ph0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 791 | |     PH1: (ph1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 792 | |     PH2: (ph2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 805 | |     PH15: (ph15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 806 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:195:26
[INFO] [stdout]     |
[INFO] [stdout] 195 |                           0...3 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 808 | / gpio!(GPIOI, gpioi, gpioien, PI, 8, [
[INFO] [stdout] 809 | |     PI0: (pi0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 810 | |     PI1: (pi1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 811 | |     PI2: (pi2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 824 | |     PI15: (pi15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 825 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:200:26
[INFO] [stdout]     |
[INFO] [stdout] 200 |                           4...7 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 808 | / gpio!(GPIOI, gpioi, gpioien, PI, 8, [
[INFO] [stdout] 809 | |     PI0: (pi0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 810 | |     PI1: (pi1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 811 | |     PI2: (pi2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 824 | |     PI15: (pi15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 825 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:205:26
[INFO] [stdout]     |
[INFO] [stdout] 205 |                           8...11 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 808 | / gpio!(GPIOI, gpioi, gpioien, PI, 8, [
[INFO] [stdout] 809 | |     PI0: (pi0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 810 | |     PI1: (pi1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 811 | |     PI2: (pi2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 824 | |     PI15: (pi15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 825 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:210:27
[INFO] [stdout]     |
[INFO] [stdout] 210 |                           12...15 => {
[INFO] [stdout]     |                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 808 | / gpio!(GPIOI, gpioi, gpioien, PI, 8, [
[INFO] [stdout] 809 | |     PI0: (pi0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 810 | |     PI1: (pi1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 811 | |     PI2: (pi2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 824 | |     PI15: (pi15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 825 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:195:26
[INFO] [stdout]     |
[INFO] [stdout] 195 |                           0...3 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 827 | / gpio!(GPIOJ, gpioj, gpiojen, PJ, 9, [
[INFO] [stdout] 828 | |     PJ0: (pj0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 829 | |     PJ1: (pj1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 830 | |     PJ2: (pj2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 843 | |     PJ15: (pj15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 844 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:200:26
[INFO] [stdout]     |
[INFO] [stdout] 200 |                           4...7 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 827 | / gpio!(GPIOJ, gpioj, gpiojen, PJ, 9, [
[INFO] [stdout] 828 | |     PJ0: (pj0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 829 | |     PJ1: (pj1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 830 | |     PJ2: (pj2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 843 | |     PJ15: (pj15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 844 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:205:26
[INFO] [stdout]     |
[INFO] [stdout] 205 |                           8...11 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 827 | / gpio!(GPIOJ, gpioj, gpiojen, PJ, 9, [
[INFO] [stdout] 828 | |     PJ0: (pj0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 829 | |     PJ1: (pj1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 830 | |     PJ2: (pj2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 843 | |     PJ15: (pj15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 844 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:210:27
[INFO] [stdout]     |
[INFO] [stdout] 210 |                           12...15 => {
[INFO] [stdout]     |                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 827 | / gpio!(GPIOJ, gpioj, gpiojen, PJ, 9, [
[INFO] [stdout] 828 | |     PJ0: (pj0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 829 | |     PJ1: (pj1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 830 | |     PJ2: (pj2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 843 | |     PJ15: (pj15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 844 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:195:26
[INFO] [stdout]     |
[INFO] [stdout] 195 |                           0...3 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 846 | / gpio!(GPIOK, gpiok, gpioken, PK, 10, [
[INFO] [stdout] 847 | |     PK0: (pk0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 848 | |     PK1: (pk1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 849 | |     PK2: (pk2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 854 | |     PK7: (pk7, 7, Input<Floating>, exticr2),
[INFO] [stdout] 855 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:200:26
[INFO] [stdout]     |
[INFO] [stdout] 200 |                           4...7 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 846 | / gpio!(GPIOK, gpiok, gpioken, PK, 10, [
[INFO] [stdout] 847 | |     PK0: (pk0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 848 | |     PK1: (pk1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 849 | |     PK2: (pk2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 854 | |     PK7: (pk7, 7, Input<Floating>, exticr2),
[INFO] [stdout] 855 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:205:26
[INFO] [stdout]     |
[INFO] [stdout] 205 |                           8...11 => {
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 846 | / gpio!(GPIOK, gpiok, gpioken, PK, 10, [
[INFO] [stdout] 847 | |     PK0: (pk0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 848 | |     PK1: (pk1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 849 | |     PK2: (pk2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 854 | |     PK7: (pk7, 7, Input<Floating>, exticr2),
[INFO] [stdout] 855 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/gpio.rs:210:27
[INFO] [stdout]     |
[INFO] [stdout] 210 |                           12...15 => {
[INFO] [stdout]     |                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 846 | / gpio!(GPIOK, gpiok, gpioken, PK, 10, [
[INFO] [stdout] 847 | |     PK0: (pk0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 848 | |     PK1: (pk1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 849 | |     PK2: (pk2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 854 | |     PK7: (pk7, 7, Input<Floating>, exticr2),
[INFO] [stdout] 855 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rcc.rs:236:18
[INFO] [stdout]     |
[INFO] [stdout] 236 |                 3...5 => 0b1001,
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rcc.rs:237:18
[INFO] [stdout]     |
[INFO] [stdout] 237 |                 6...11 => 0b1010,
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rcc.rs:238:19
[INFO] [stdout]     |
[INFO] [stdout] 238 |                 12...39 => 0b1011,
[INFO] [stdout]     |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rcc.rs:239:19
[INFO] [stdout]     |
[INFO] [stdout] 239 |                 40...95 => 0b1100,
[INFO] [stdout]     |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rcc.rs:240:19
[INFO] [stdout]     |
[INFO] [stdout] 240 |                 96...191 => 0b1101,
[INFO] [stdout]     |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rcc.rs:241:20
[INFO] [stdout]     |
[INFO] [stdout] 241 |                 192...383 => 0b1110,
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/spi.rs:401:14
[INFO] [stdout]     |
[INFO] [stdout] 401 |             1...2 => 0b000,
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/spi.rs:402:14
[INFO] [stdout]     |
[INFO] [stdout] 402 |             3...5 => 0b001,
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/spi.rs:403:14
[INFO] [stdout]     |
[INFO] [stdout] 403 |             6...11 => 0b010,
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/spi.rs:404:15
[INFO] [stdout]     |
[INFO] [stdout] 404 |             12...23 => 0b011,
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/spi.rs:405:15
[INFO] [stdout]     |
[INFO] [stdout] 405 |             24...47 => 0b100,
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/spi.rs:406:15
[INFO] [stdout]     |
[INFO] [stdout] 406 |             48...95 => 0b101,
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/spi.rs:407:15
[INFO] [stdout]     |
[INFO] [stdout] 407 |             96...191 => 0b110,
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:259:25
[INFO] [stdout]     |
[INFO] [stdout] 259 | /                         &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 260 | |                             w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 261 | |                         });
[INFO] [stdout]     | |__________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 259 |                         let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:25
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                         &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 265 | |                             w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 266 | |                         });
[INFO] [stdout]     | |__________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 264 |                         let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 | /                     &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 269 | |                         w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 270 | |                     });
[INFO] [stdout]     | |______________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 268 |                     let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:384:29
[INFO] [stdout]     |
[INFO] [stdout] 384 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 385 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 386 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 384 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 385 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 386 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:381:29
[INFO] [stdout]     |
[INFO] [stdout] 381 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 382 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 383 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 381 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:399:29
[INFO] [stdout]     |
[INFO] [stdout] 399 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 400 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 401 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 399 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 400 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 401 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:396:29
[INFO] [stdout]     |
[INFO] [stdout] 396 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 397 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 398 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 396 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:414:29
[INFO] [stdout]     |
[INFO] [stdout] 414 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 415 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 416 | |                             }
[INFO] [stdout] 417 | |                         )};
[INFO] [stdout]     | |_________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 414 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 415 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 416 |                             }
[INFO] [stdout] 417 ~                         );};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:411:29
[INFO] [stdout]     |
[INFO] [stdout] 411 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 412 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 413 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 411 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:432:29
[INFO] [stdout]     |
[INFO] [stdout] 432 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 433 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 434 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 432 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 433 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 434 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:426:29
[INFO] [stdout]     |
[INFO] [stdout] 426 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 427 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 428 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 426 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:429:29
[INFO] [stdout]     |
[INFO] [stdout] 429 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 430 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 431 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 429 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:451:29
[INFO] [stdout]     |
[INFO] [stdout] 451 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 452 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 453 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 451 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 452 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 453 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:445:29
[INFO] [stdout]     |
[INFO] [stdout] 445 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 446 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 447 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 445 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:448:29
[INFO] [stdout]     |
[INFO] [stdout] 448 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 449 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 450 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 448 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:467:29
[INFO] [stdout]     |
[INFO] [stdout] 467 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 468 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 469 | |                             }
[INFO] [stdout] 470 | |                         )};
[INFO] [stdout]     | |_________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 467 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 468 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 469 |                             }
[INFO] [stdout] 470 ~                         );};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:464:29
[INFO] [stdout]     |
[INFO] [stdout] 464 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 465 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 466 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 464 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:482:29
[INFO] [stdout]     |
[INFO] [stdout] 482 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 483 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 484 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 482 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 483 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 484 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:497:29
[INFO] [stdout]     |
[INFO] [stdout] 497 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 498 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 499 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 497 ~                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 498 |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 499 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:510:29
[INFO] [stdout]     |
[INFO] [stdout] 510 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 511 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 512 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 510 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 511 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 512 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:523:29
[INFO] [stdout]     |
[INFO] [stdout] 523 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 524 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 525 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 523 ~                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 524 |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 525 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:537:29
[INFO] [stdout]     |
[INFO] [stdout] 537 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 538 | |                                 w.bits(r.bits() | (1 << offset))
[INFO] [stdout] 539 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 656 | / gpio!(GPIOA, gpioa, gpioaen, PA, 0, [
[INFO] [stdout] 657 | |     PA0: (pa0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 658 | |     PA1: (pa1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 659 | |     PA2: (pa2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 672 | |     PA15: (pa15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 673 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 537 ~                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 538 |                                 w.bits(r.bits() | (1 << offset))
[INFO] [stdout] 539 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:259:25
[INFO] [stdout]     |
[INFO] [stdout] 259 | /                         &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 260 | |                             w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 261 | |                         });
[INFO] [stdout]     | |__________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 259 |                         let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:25
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                         &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 265 | |                             w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 266 | |                         });
[INFO] [stdout]     | |__________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 264 |                         let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 | /                     &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 269 | |                         w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 270 | |                     });
[INFO] [stdout]     | |______________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 268 |                     let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:384:29
[INFO] [stdout]     |
[INFO] [stdout] 384 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 385 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 386 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 384 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 385 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 386 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:381:29
[INFO] [stdout]     |
[INFO] [stdout] 381 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 382 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 383 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 381 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:399:29
[INFO] [stdout]     |
[INFO] [stdout] 399 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 400 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 401 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 399 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 400 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 401 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:396:29
[INFO] [stdout]     |
[INFO] [stdout] 396 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 397 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 398 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 396 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:414:29
[INFO] [stdout]     |
[INFO] [stdout] 414 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 415 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 416 | |                             }
[INFO] [stdout] 417 | |                         )};
[INFO] [stdout]     | |_________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 414 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 415 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 416 |                             }
[INFO] [stdout] 417 ~                         );};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:411:29
[INFO] [stdout]     |
[INFO] [stdout] 411 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 412 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 413 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 411 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:432:29
[INFO] [stdout]     |
[INFO] [stdout] 432 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 433 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 434 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 432 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 433 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 434 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:426:29
[INFO] [stdout]     |
[INFO] [stdout] 426 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 427 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 428 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 426 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:429:29
[INFO] [stdout]     |
[INFO] [stdout] 429 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 430 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 431 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 429 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:451:29
[INFO] [stdout]     |
[INFO] [stdout] 451 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 452 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 453 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 451 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 452 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 453 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:445:29
[INFO] [stdout]     |
[INFO] [stdout] 445 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 446 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 447 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 445 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:448:29
[INFO] [stdout]     |
[INFO] [stdout] 448 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 449 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 450 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 448 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:467:29
[INFO] [stdout]     |
[INFO] [stdout] 467 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 468 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 469 | |                             }
[INFO] [stdout] 470 | |                         )};
[INFO] [stdout]     | |_________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 467 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 468 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 469 |                             }
[INFO] [stdout] 470 ~                         );};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:464:29
[INFO] [stdout]     |
[INFO] [stdout] 464 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 465 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 466 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 464 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:482:29
[INFO] [stdout]     |
[INFO] [stdout] 482 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 483 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 484 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 482 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 483 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 484 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:497:29
[INFO] [stdout]     |
[INFO] [stdout] 497 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 498 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 499 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 497 ~                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 498 |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 499 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:510:29
[INFO] [stdout]     |
[INFO] [stdout] 510 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 511 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 512 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 510 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 511 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 512 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:523:29
[INFO] [stdout]     |
[INFO] [stdout] 523 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 524 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 525 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 523 ~                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 524 |                                 w.bits((r.bits() & !(0b11 << offset)) | (value << offset))
[INFO] [stdout] 525 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:537:29
[INFO] [stdout]     |
[INFO] [stdout] 537 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 538 | |                                 w.bits(r.bits() | (1 << offset))
[INFO] [stdout] 539 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 675 | / gpio!(GPIOB, gpiob, gpioben, PB, 1, [
[INFO] [stdout] 676 | |     PB0: (pb0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 677 | |     PB1: (pb1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 678 | |     PB2: (pb2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | |     PB15: (pb15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 692 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 537 ~                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 538 |                                 w.bits(r.bits() | (1 << offset))
[INFO] [stdout] 539 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:259:25
[INFO] [stdout]     |
[INFO] [stdout] 259 | /                         &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 260 | |                             w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 261 | |                         });
[INFO] [stdout]     | |__________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 259 |                         let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:25
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                         &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 265 | |                             w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 266 | |                         });
[INFO] [stdout]     | |__________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 264 |                         let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 | /                     &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 269 | |                         w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 270 | |                     });
[INFO] [stdout]     | |______________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 268 |                     let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:384:29
[INFO] [stdout]     |
[INFO] [stdout] 384 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 385 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 386 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 384 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 385 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 386 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:381:29
[INFO] [stdout]     |
[INFO] [stdout] 381 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 382 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 383 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 381 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:399:29
[INFO] [stdout]     |
[INFO] [stdout] 399 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 400 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 401 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 399 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 400 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 401 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:396:29
[INFO] [stdout]     |
[INFO] [stdout] 396 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 397 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 398 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 396 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:414:29
[INFO] [stdout]     |
[INFO] [stdout] 414 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 415 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 416 | |                             }
[INFO] [stdout] 417 | |                         )};
[INFO] [stdout]     | |_________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 414 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 415 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 416 |                             }
[INFO] [stdout] 417 ~                         );};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:411:29
[INFO] [stdout]     |
[INFO] [stdout] 411 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 412 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 413 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 411 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:432:29
[INFO] [stdout]     |
[INFO] [stdout] 432 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 433 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 434 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 432 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 433 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 434 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:426:29
[INFO] [stdout]     |
[INFO] [stdout] 426 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 427 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 428 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 426 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:429:29
[INFO] [stdout]     |
[INFO] [stdout] 429 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 430 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 431 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 429 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:451:29
[INFO] [stdout]     |
[INFO] [stdout] 451 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 452 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 453 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 451 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 452 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 453 ~                             });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:445:29
[INFO] [stdout]     |
[INFO] [stdout] 445 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 446 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 447 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 445 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:448:29
[INFO] [stdout]     |
[INFO] [stdout] 448 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 449 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 450 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 448 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:467:29
[INFO] [stdout]     |
[INFO] [stdout] 467 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 468 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 469 | |                             }
[INFO] [stdout] 470 | |                         )};
[INFO] [stdout]     | |_________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 467 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 468 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 469 |                             }
[INFO] [stdout] 470 ~                         );};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:464:29
[INFO] [stdout]     |
[INFO] [stdout] 464 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 465 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 466 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     PC15: (pc15, 15, Input<Floating>, exticr4),
[INFO] [stdout] 711 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 464 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:482:29
[INFO] [stdout]     |
[INFO] [stdout] 482 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 483 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 484 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 694 | / gpio!(GPIOC, gpioc, gpiocen, PC, 2, [
[INFO] [stdout] 695 | |     PC0: (pc0, 0, Input<Floating>, exticr1),
[INFO] [stdout] 696 | |     PC1: (pc1, 1, Input<Floating>, exticr1),
[INFO] [stdout] 697 | |     PC2: (pc2, 2, Input<Floating>, exticr1),
[WARN] too many lines in the log, truncating it
