[INFO] fetching crate stm32l1xx-hal 0.1.0... [INFO] checking stm32l1xx-hal-0.1.0 against try#a7a572ce3edd6d476191fbfe92c9c1986e009b34 for pr-87190-3 [INFO] extracting crate stm32l1xx-hal 0.1.0 into /workspace/builds/worker-15/source [INFO] validating manifest of crates.io crate stm32l1xx-hal 0.1.0 on toolchain a7a572ce3edd6d476191fbfe92c9c1986e009b34 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a7a572ce3edd6d476191fbfe92c9c1986e009b34" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-15/source/.cargo/config [INFO] started tweaking crates.io crate stm32l1xx-hal 0.1.0 [INFO] finished tweaking crates.io crate stm32l1xx-hal 0.1.0 [INFO] tweaked toml for crates.io crate stm32l1xx-hal 0.1.0 written to /workspace/builds/worker-15/source/Cargo.toml [INFO] crate crates.io crate stm32l1xx-hal 0.1.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a7a572ce3edd6d476191fbfe92c9c1986e009b34" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded typenum v1.10.0 [INFO] [stderr] Downloaded heapless v0.4.1 [INFO] [stderr] Downloaded cortex-m-rt v0.6.7 [INFO] [stderr] Downloaded generic-array v0.11.1 [INFO] [stderr] Downloaded owned-singleton v0.1.0 [INFO] [stderr] Downloaded cortex-m-rtfm v0.4.2 [INFO] [stderr] Downloaded hash32 v0.1.0 [INFO] [stderr] Downloaded cortex-m-rtfm-macros v0.4.2 [INFO] [stderr] Downloaded nb v0.1.1 [INFO] [stderr] Downloaded bare-metal v0.2.4 [INFO] [stderr] Downloaded rand_core v0.3.0 [INFO] [stderr] Downloaded embedded-hal v0.2.3 [INFO] [stderr] Downloaded cast v0.2.2 [INFO] [stderr] Downloaded cortex-m-rt-macros v0.1.5 [INFO] [stderr] Downloaded quote v0.6.10 [INFO] [stderr] Downloaded cortex-m-semihosting v0.3.2 [INFO] [stderr] Downloaded cortex-m v0.5.8 [INFO] [stderr] Downloaded rand v0.5.5 [INFO] [stderr] Downloaded rand_core v0.2.2 [INFO] [stderr] Downloaded stm32l1 v0.5.0 [INFO] [stderr] Downloaded byteorder v1.2.7 [INFO] [stderr] Downloaded owned-singleton-macros v0.1.0 [INFO] [stderr] Downloaded panic-semihosting v0.5.1 [INFO] [stderr] Downloaded proc-macro2 v0.4.24 [INFO] [stderr] Downloaded vcell v0.1.0 [INFO] [stderr] Downloaded stable_deref_trait v1.1.1 [INFO] [stderr] Downloaded syn v0.15.23 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-15/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-15/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+a7a572ce3edd6d476191fbfe92c9c1986e009b34" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] da3d142aa916c9d6d2f501e3b2bb446d12c5d21b87d15e05fd0c0296e4ffdc0e [INFO] running `Command { std: "docker" "start" "-a" "da3d142aa916c9d6d2f501e3b2bb446d12c5d21b87d15e05fd0c0296e4ffdc0e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "da3d142aa916c9d6d2f501e3b2bb446d12c5d21b87d15e05fd0c0296e4ffdc0e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "da3d142aa916c9d6d2f501e3b2bb446d12c5d21b87d15e05fd0c0296e4ffdc0e", kill_on_drop: false }` [INFO] [stdout] da3d142aa916c9d6d2f501e3b2bb446d12c5d21b87d15e05fd0c0296e4ffdc0e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-15/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-15/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+a7a572ce3edd6d476191fbfe92c9c1986e009b34" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 008bc91bcfaaaea750c2b5bdd1430e45283fbd16e28bb4dbafd89ed13cc086c7 [INFO] running `Command { std: "docker" "start" "-a" "008bc91bcfaaaea750c2b5bdd1430e45283fbd16e28bb4dbafd89ed13cc086c7", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Compiling proc-macro2 v0.4.24 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling rand_core v0.3.0 [INFO] [stderr] Compiling cortex-m v0.5.8 [INFO] [stderr] Checking vcell v0.1.0 [INFO] [stderr] Checking aligned v0.2.0 [INFO] [stderr] Compiling typenum v1.10.0 [INFO] [stderr] Compiling cortex-m-rt v0.6.7 [INFO] [stderr] Checking r0 v0.2.2 [INFO] [stderr] Compiling stm32l1 v0.5.0 [INFO] [stderr] Compiling cortex-m-semihosting v0.3.2 [INFO] [stderr] Checking byteorder v1.2.7 [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Checking stable_deref_trait v1.1.1 [INFO] [stderr] Checking nb v0.1.1 [INFO] [stderr] Compiling cortex-m-rtfm v0.4.2 [INFO] [stderr] Checking cast v0.2.2 [INFO] [stderr] Checking embedded-hal v0.2.3 [INFO] [stderr] Checking volatile-register v0.2.0 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Checking hash32 v0.1.0 [INFO] [stderr] Compiling rand_core v0.2.2 [INFO] [stderr] Compiling rand v0.5.5 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Compiling bare-metal v0.2.4 [INFO] [stderr] Compiling quote v0.6.10 [INFO] [stderr] Compiling syn v0.15.23 [INFO] [stderr] Checking panic-semihosting v0.5.1 [INFO] [stderr] Checking generic-array v0.11.1 [INFO] [stderr] Checking heapless v0.4.1 [INFO] [stderr] Compiling cortex-m-rt-macros v0.1.5 [INFO] [stderr] Compiling owned-singleton-macros v0.1.0 [INFO] [stderr] Compiling cortex-m-rtfm-macros v0.4.2 [INFO] [stderr] Checking owned-singleton v0.1.0 [INFO] [stderr] Checking stm32l1xx-hal v0.1.0 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2018 edition to 2021 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `stm32l1xx_hal` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/gpio.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:181:37 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:197:37 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:213:37 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:229:37 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:232:37 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:245:37 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:248:37 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:264:37 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:267:37 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:295:41 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:300:41 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:304:37 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:181:37 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:197:37 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:213:37 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:229:37 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:232:37 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:245:37 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:248:37 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:264:37 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:267:37 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:295:41 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:300:41 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:304:37 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:181:37 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:197:37 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:213:37 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:229:37 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:232:37 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:245:37 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:248:37 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:264:37 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:267:37 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:295:41 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:300:41 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:304:37 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:181:37 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:197:37 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:213:37 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:229:37 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:232:37 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:245:37 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:248:37 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:264:37 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:267:37 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:295:41 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:300:41 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:304:37 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:181:37 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [ [INFO] [stderr] 479 | | PE0: (pe0, 0, Input), [INFO] [stderr] 480 | | PE1: (pe1, 1, Input), [INFO] [stderr] 481 | | PE2: (pe2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 494 | | PE15: (pe15, 15, Input), [INFO] [stderr] 495 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:197:37 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [ [INFO] [stderr] 479 | | PE0: (pe0, 0, Input), [INFO] [stderr] 480 | | PE1: (pe1, 1, Input), [INFO] [stderr] 481 | | PE2: (pe2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 494 | | PE15: (pe15, 15, Input), [INFO] [stderr] 495 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:213:37 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [ [INFO] [stderr] 479 | | PE0: (pe0, 0, Input), [INFO] [stderr] 480 | | PE1: (pe1, 1, Input), [INFO] [stderr] 481 | | PE2: (pe2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 494 | | PE15: (pe15, 15, Input), [INFO] [stderr] 495 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:229:37 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [ [INFO] [stderr] 479 | | PE0: (pe0, 0, Input), [INFO] [stderr] 480 | | PE1: (pe1, 1, Input), [INFO] [stderr] 481 | | PE2: (pe2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 494 | | PE15: (pe15, 15, Input), [INFO] [stderr] 495 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:232:37 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [ [INFO] [stderr] 479 | | PE0: (pe0, 0, Input), [INFO] [stderr] 480 | | PE1: (pe1, 1, Input), [INFO] [stderr] 481 | | PE2: (pe2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 494 | | PE15: (pe15, 15, Input), [INFO] [stderr] 495 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:245:37 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [ [INFO] [stderr] 479 | | PE0: (pe0, 0, Input), [INFO] [stderr] 480 | | PE1: (pe1, 1, Input), [INFO] [stderr] 481 | | PE2: (pe2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 494 | | PE15: (pe15, 15, Input), [INFO] [stderr] 495 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:248:37 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [ [INFO] [stderr] 479 | | PE0: (pe0, 0, Input), [INFO] [stderr] 480 | | PE1: (pe1, 1, Input), [INFO] [stderr] 481 | | PE2: (pe2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 494 | | PE15: (pe15, 15, Input), [INFO] [stderr] 495 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:264:37 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [ [INFO] [stderr] 479 | | PE0: (pe0, 0, Input), [INFO] [stderr] 480 | | PE1: (pe1, 1, Input), [INFO] [stderr] 481 | | PE2: (pe2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 494 | | PE15: (pe15, 15, Input), [INFO] [stderr] 495 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:267:37 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [ [INFO] [stderr] 479 | | PE0: (pe0, 0, Input), [INFO] [stderr] 480 | | PE1: (pe1, 1, Input), [INFO] [stderr] 481 | | PE2: (pe2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 494 | | PE15: (pe15, 15, Input), [INFO] [stderr] 495 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:295:41 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [ [INFO] [stderr] 479 | | PE0: (pe0, 0, Input), [INFO] [stderr] 480 | | PE1: (pe1, 1, Input), [INFO] [stderr] 481 | | PE2: (pe2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 494 | | PE15: (pe15, 15, Input), [INFO] [stderr] 495 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:300:41 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [ [INFO] [stderr] 479 | | PE0: (pe0, 0, Input), [INFO] [stderr] 480 | | PE1: (pe1, 1, Input), [INFO] [stderr] 481 | | PE2: (pe2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 494 | | PE15: (pe15, 15, Input), [INFO] [stderr] 495 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:304:37 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [ [INFO] [stderr] 479 | | PE0: (pe0, 0, Input), [INFO] [stderr] 480 | | PE1: (pe1, 1, Input), [INFO] [stderr] 481 | | PE2: (pe2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 494 | | PE15: (pe15, 15, Input), [INFO] [stderr] 495 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:181:37 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [ [INFO] [stderr] 499 | | PF0: (pf0, 0, Input), [INFO] [stderr] 500 | | PF1: (pf1, 1, Input), [INFO] [stderr] 501 | | PF2: (pf2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 514 | | PF15: (pf15, 15, Input), [INFO] [stderr] 515 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:197:37 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [ [INFO] [stderr] 499 | | PF0: (pf0, 0, Input), [INFO] [stderr] 500 | | PF1: (pf1, 1, Input), [INFO] [stderr] 501 | | PF2: (pf2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 514 | | PF15: (pf15, 15, Input), [INFO] [stderr] 515 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:213:37 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [ [INFO] [stderr] 499 | | PF0: (pf0, 0, Input), [INFO] [stderr] 500 | | PF1: (pf1, 1, Input), [INFO] [stderr] 501 | | PF2: (pf2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 514 | | PF15: (pf15, 15, Input), [INFO] [stderr] 515 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:229:37 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [ [INFO] [stderr] 499 | | PF0: (pf0, 0, Input), [INFO] [stderr] 500 | | PF1: (pf1, 1, Input), [INFO] [stderr] 501 | | PF2: (pf2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 514 | | PF15: (pf15, 15, Input), [INFO] [stderr] 515 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:232:37 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [ [INFO] [stderr] 499 | | PF0: (pf0, 0, Input), [INFO] [stderr] 500 | | PF1: (pf1, 1, Input), [INFO] [stderr] 501 | | PF2: (pf2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 514 | | PF15: (pf15, 15, Input), [INFO] [stderr] 515 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:245:37 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [ [INFO] [stderr] 499 | | PF0: (pf0, 0, Input), [INFO] [stderr] 500 | | PF1: (pf1, 1, Input), [INFO] [stderr] 501 | | PF2: (pf2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 514 | | PF15: (pf15, 15, Input), [INFO] [stderr] 515 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:248:37 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [ [INFO] [stderr] 499 | | PF0: (pf0, 0, Input), [INFO] [stderr] 500 | | PF1: (pf1, 1, Input), [INFO] [stderr] 501 | | PF2: (pf2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 514 | | PF15: (pf15, 15, Input), [INFO] [stderr] 515 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:264:37 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [ [INFO] [stderr] 499 | | PF0: (pf0, 0, Input), [INFO] [stderr] 500 | | PF1: (pf1, 1, Input), [INFO] [stderr] 501 | | PF2: (pf2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 514 | | PF15: (pf15, 15, Input), [INFO] [stderr] 515 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:267:37 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [ [INFO] [stderr] 499 | | PF0: (pf0, 0, Input), [INFO] [stderr] 500 | | PF1: (pf1, 1, Input), [INFO] [stderr] 501 | | PF2: (pf2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 514 | | PF15: (pf15, 15, Input), [INFO] [stderr] 515 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:295:41 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [ [INFO] [stderr] 499 | | PF0: (pf0, 0, Input), [INFO] [stderr] 500 | | PF1: (pf1, 1, Input), [INFO] [stderr] 501 | | PF2: (pf2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 514 | | PF15: (pf15, 15, Input), [INFO] [stderr] 515 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:300:41 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [ [INFO] [stderr] 499 | | PF0: (pf0, 0, Input), [INFO] [stderr] 500 | | PF1: (pf1, 1, Input), [INFO] [stderr] 501 | | PF2: (pf2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 514 | | PF15: (pf15, 15, Input), [INFO] [stderr] 515 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:304:37 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [ [INFO] [stderr] 499 | | PF0: (pf0, 0, Input), [INFO] [stderr] 500 | | PF1: (pf1, 1, Input), [INFO] [stderr] 501 | | PF2: (pf2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 514 | | PF15: (pf15, 15, Input), [INFO] [stderr] 515 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:181:37 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [ [INFO] [stderr] 519 | | PG0: (pg0, 0, Input), [INFO] [stderr] 520 | | PG1: (pg1, 1, Input), [INFO] [stderr] 521 | | PG2: (pg2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 534 | | PG15: (pg15, 15, Input), [INFO] [stderr] 535 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:197:37 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [ [INFO] [stderr] 519 | | PG0: (pg0, 0, Input), [INFO] [stderr] 520 | | PG1: (pg1, 1, Input), [INFO] [stderr] 521 | | PG2: (pg2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 534 | | PG15: (pg15, 15, Input), [INFO] [stderr] 535 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:213:37 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [ [INFO] [stderr] 519 | | PG0: (pg0, 0, Input), [INFO] [stderr] 520 | | PG1: (pg1, 1, Input), [INFO] [stderr] 521 | | PG2: (pg2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 534 | | PG15: (pg15, 15, Input), [INFO] [stderr] 535 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:229:37 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [ [INFO] [stderr] 519 | | PG0: (pg0, 0, Input), [INFO] [stderr] 520 | | PG1: (pg1, 1, Input), [INFO] [stderr] 521 | | PG2: (pg2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 534 | | PG15: (pg15, 15, Input), [INFO] [stderr] 535 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:232:37 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [ [INFO] [stderr] 519 | | PG0: (pg0, 0, Input), [INFO] [stderr] 520 | | PG1: (pg1, 1, Input), [INFO] [stderr] 521 | | PG2: (pg2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 534 | | PG15: (pg15, 15, Input), [INFO] [stderr] 535 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:245:37 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [ [INFO] [stderr] 519 | | PG0: (pg0, 0, Input), [INFO] [stderr] 520 | | PG1: (pg1, 1, Input), [INFO] [stderr] 521 | | PG2: (pg2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 534 | | PG15: (pg15, 15, Input), [INFO] [stderr] 535 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:248:37 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [ [INFO] [stderr] 519 | | PG0: (pg0, 0, Input), [INFO] [stderr] 520 | | PG1: (pg1, 1, Input), [INFO] [stderr] 521 | | PG2: (pg2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 534 | | PG15: (pg15, 15, Input), [INFO] [stderr] 535 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:264:37 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [ [INFO] [stderr] 519 | | PG0: (pg0, 0, Input), [INFO] [stderr] 520 | | PG1: (pg1, 1, Input), [INFO] [stderr] 521 | | PG2: (pg2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 534 | | PG15: (pg15, 15, Input), [INFO] [stderr] 535 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:267:37 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [ [INFO] [stderr] 519 | | PG0: (pg0, 0, Input), [INFO] [stderr] 520 | | PG1: (pg1, 1, Input), [INFO] [stderr] 521 | | PG2: (pg2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 534 | | PG15: (pg15, 15, Input), [INFO] [stderr] 535 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:295:41 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [ [INFO] [stderr] 519 | | PG0: (pg0, 0, Input), [INFO] [stderr] 520 | | PG1: (pg1, 1, Input), [INFO] [stderr] 521 | | PG2: (pg2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 534 | | PG15: (pg15, 15, Input), [INFO] [stderr] 535 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:300:41 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [ [INFO] [stderr] 519 | | PG0: (pg0, 0, Input), [INFO] [stderr] 520 | | PG1: (pg1, 1, Input), [INFO] [stderr] 521 | | PG2: (pg2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 534 | | PG15: (pg15, 15, Input), [INFO] [stderr] 535 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:304:37 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [ [INFO] [stderr] 519 | | PG0: (pg0, 0, Input), [INFO] [stderr] 520 | | PG1: (pg1, 1, Input), [INFO] [stderr] 521 | | PG2: (pg2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 534 | | PG15: (pg15, 15, Input), [INFO] [stderr] 535 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:181:37 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [ [INFO] [stderr] 539 | | PH0: (ph0, 0, Input), [INFO] [stderr] 540 | | PH1: (ph1, 1, Input), [INFO] [stderr] 541 | | PH2: (ph2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 554 | | PH15: (ph15, 15, Input), [INFO] [stderr] 555 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:197:37 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [ [INFO] [stderr] 539 | | PH0: (ph0, 0, Input), [INFO] [stderr] 540 | | PH1: (ph1, 1, Input), [INFO] [stderr] 541 | | PH2: (ph2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 554 | | PH15: (ph15, 15, Input), [INFO] [stderr] 555 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:213:37 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [ [INFO] [stderr] 539 | | PH0: (ph0, 0, Input), [INFO] [stderr] 540 | | PH1: (ph1, 1, Input), [INFO] [stderr] 541 | | PH2: (ph2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 554 | | PH15: (ph15, 15, Input), [INFO] [stderr] 555 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:229:37 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [ [INFO] [stderr] 539 | | PH0: (ph0, 0, Input), [INFO] [stderr] 540 | | PH1: (ph1, 1, Input), [INFO] [stderr] 541 | | PH2: (ph2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 554 | | PH15: (ph15, 15, Input), [INFO] [stderr] 555 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:232:37 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [ [INFO] [stderr] 539 | | PH0: (ph0, 0, Input), [INFO] [stderr] 540 | | PH1: (ph1, 1, Input), [INFO] [stderr] 541 | | PH2: (ph2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 554 | | PH15: (ph15, 15, Input), [INFO] [stderr] 555 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:245:37 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [ [INFO] [stderr] 539 | | PH0: (ph0, 0, Input), [INFO] [stderr] 540 | | PH1: (ph1, 1, Input), [INFO] [stderr] 541 | | PH2: (ph2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 554 | | PH15: (ph15, 15, Input), [INFO] [stderr] 555 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:248:37 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [ [INFO] [stderr] 539 | | PH0: (ph0, 0, Input), [INFO] [stderr] 540 | | PH1: (ph1, 1, Input), [INFO] [stderr] 541 | | PH2: (ph2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 554 | | PH15: (ph15, 15, Input), [INFO] [stderr] 555 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:264:37 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [ [INFO] [stderr] 539 | | PH0: (ph0, 0, Input), [INFO] [stderr] 540 | | PH1: (ph1, 1, Input), [INFO] [stderr] 541 | | PH2: (ph2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 554 | | PH15: (ph15, 15, Input), [INFO] [stderr] 555 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:267:37 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [ [INFO] [stderr] 539 | | PH0: (ph0, 0, Input), [INFO] [stderr] 540 | | PH1: (ph1, 1, Input), [INFO] [stderr] 541 | | PH2: (ph2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 554 | | PH15: (ph15, 15, Input), [INFO] [stderr] 555 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:295:41 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [ [INFO] [stderr] 539 | | PH0: (ph0, 0, Input), [INFO] [stderr] 540 | | PH1: (ph1, 1, Input), [INFO] [stderr] 541 | | PH2: (ph2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 554 | | PH15: (ph15, 15, Input), [INFO] [stderr] 555 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:300:41 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [ [INFO] [stderr] 539 | | PH0: (ph0, 0, Input), [INFO] [stderr] 540 | | PH1: (ph1, 1, Input), [INFO] [stderr] 541 | | PH2: (ph2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 554 | | PH15: (ph15, 15, Input), [INFO] [stderr] 555 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: `let` expressions are not supported here [INFO] [stderr] --> src/gpio.rs:304:37 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [ [INFO] [stderr] 539 | | PH0: (ph0, 0, Input), [INFO] [stderr] 540 | | PH1: (ph1, 1, Input), [INFO] [stderr] 541 | | PH2: (ph2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 554 | | PH15: (ph15, 15, Input), [INFO] [stderr] 555 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: only supported directly in conditions of `if`- and `while`-expressions [INFO] [stderr] = note: as well as when nested within `&&` and parenthesis in those conditions [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:181:93 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:181:85 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:181:77 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:181:69 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:181:61 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:181:53 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:181:45 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:181:37 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:197:85 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:197:77 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:197:69 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:197:61 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:197:53 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:197:45 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:197:37 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:213:85 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:213:77 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:213:69 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:213:61 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:213:53 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:213:45 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:213:37 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:229:85 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:229:77 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:229:69 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:229:61 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:229:53 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:229:45 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:229:37 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:232:85 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:232:77 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:232:69 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:232:61 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:232:53 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:232:45 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:232:37 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:245:85 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:245:77 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:245:69 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:245:61 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:245:53 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:245:45 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:245:37 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:248:85 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:248:77 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:248:69 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:248:61 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:248:53 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:248:45 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:248:37 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:264:85 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:264:77 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:264:69 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:264:61 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:264:53 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:264:45 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:264:37 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:267:85 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:267:77 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:267:69 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:267:61 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:267:53 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:267:45 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:267:37 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:295:89 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________________________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:295:81 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:295:73 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:295:65 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:295:57 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:295:49 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:295:41 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:300:89 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________________________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:300:81 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:300:73 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:300:65 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:300:57 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:300:49 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:300:41 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:304:85 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:304:77 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:304:69 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:304:61 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:304:53 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:304:45 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:304:37 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [ [INFO] [stderr] 402 | | PA0: (pa0, 0, Input), [INFO] [stderr] 403 | | PA1: (pa1, 1, Input), [INFO] [stderr] 404 | | PA2: (pa2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 417 | | PA15: (pa15, 15, Input), [INFO] [stderr] 418 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:181:93 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:181:85 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:181:77 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:181:69 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:181:61 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:181:53 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:181:45 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:181:37 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:197:85 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:197:77 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:197:69 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:197:61 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:197:53 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:197:45 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:197:37 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:213:85 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:213:77 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:213:69 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:213:61 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:213:53 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:213:45 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:213:37 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:229:85 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:229:77 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:229:69 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:229:61 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:229:53 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:229:45 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:229:37 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:232:85 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:232:77 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:232:69 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:232:61 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:232:53 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:232:45 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:232:37 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:245:85 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:245:77 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:245:69 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:245:61 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:245:53 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:245:45 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:245:37 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:248:85 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:248:77 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:248:69 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:248:61 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:248:53 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:248:45 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:248:37 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:264:85 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:264:77 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:264:69 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:264:61 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:264:53 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:264:45 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:264:37 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:267:85 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:267:77 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:267:69 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:267:61 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:267:53 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:267:45 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:267:37 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:295:89 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________________________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:295:81 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:295:73 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:295:65 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:295:57 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:295:49 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:295:41 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:300:89 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________________________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:300:81 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:300:73 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:300:65 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:300:57 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:300:49 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:300:41 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:304:85 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:304:77 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:304:69 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:304:61 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:304:53 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:304:45 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:304:37 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [ [INFO] [stderr] 421 | | PB0: (pb0, 0, Input), [INFO] [stderr] 422 | | PB1: (pb1, 1, Input), [INFO] [stderr] 423 | | PB2: (pb2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 436 | | PB15: (pb15, 15, Input), [INFO] [stderr] 437 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:181:93 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:181:85 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:181:77 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:181:69 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:181:61 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:181:53 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:181:45 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:181:37 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:197:85 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:197:77 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:197:69 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:197:61 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:197:53 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:197:45 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:197:37 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:213:85 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:213:77 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:213:69 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:213:61 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:213:53 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:213:45 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:213:37 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:229:85 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:229:77 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:229:69 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:229:61 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:229:53 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:229:45 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:229:37 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:232:85 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:232:77 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:232:69 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:232:61 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:232:53 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:232:45 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:232:37 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:245:85 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:245:77 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:245:69 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:245:61 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:245:53 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:245:45 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:245:37 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:248:85 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:248:77 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:248:69 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:248:61 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:248:53 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:248:45 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:248:37 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:264:85 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:264:77 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:264:69 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:264:61 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:264:53 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:264:45 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:264:37 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:267:85 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:267:77 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:267:69 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:267:61 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:267:53 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:267:45 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:267:37 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:295:89 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________________________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:295:81 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:295:73 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:295:65 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:295:57 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:295:49 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:295:41 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:300:89 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________________________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:300:81 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:300:73 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:300:65 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:300:57 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:300:49 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:300:41 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:304:85 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:304:77 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:304:69 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:304:61 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:304:53 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:304:45 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:304:37 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [ [INFO] [stderr] 440 | | PC0: (pc0, 0, Input), [INFO] [stderr] 441 | | PC1: (pc1, 1, Input), [INFO] [stderr] 442 | | PC2: (pc2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 455 | | PC15: (pc15, 15, Input), [INFO] [stderr] 456 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:181:93 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:181:85 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:181:77 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:181:69 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:181:61 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:181:53 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:181:45 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:181:37 [INFO] [stderr] | [INFO] [stderr] 181 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 182 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 183 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:197:85 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:197:77 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:197:69 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:197:61 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:197:53 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:197:45 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:197:37 [INFO] [stderr] | [INFO] [stderr] 197 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 198 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 199 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:213:85 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:213:77 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:213:69 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:213:61 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:213:53 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:213:45 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:213:37 [INFO] [stderr] | [INFO] [stderr] 213 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 214 | | w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset)) [INFO] [stderr] 215 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:229:85 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:229:77 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:229:69 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:229:61 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:229:53 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:229:45 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:229:37 [INFO] [stderr] | [INFO] [stderr] 229 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 230 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 231 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:232:85 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:232:77 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:232:69 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:232:61 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:232:53 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:232:45 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:232:37 [INFO] [stderr] | [INFO] [stderr] 232 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 233 | | w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset)) [INFO] [stderr] 234 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:245:85 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:245:77 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:245:69 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:245:61 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:245:53 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:245:45 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:245:37 [INFO] [stderr] | [INFO] [stderr] 245 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 246 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 247 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:248:85 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:248:77 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:248:69 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:248:61 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:248:53 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:248:45 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:248:37 [INFO] [stderr] | [INFO] [stderr] 248 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 249 | | w.bits(r.bits() | (0b1 << $i)) [INFO] [stderr] 250 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:264:85 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:264:77 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:264:69 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:264:61 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:264:53 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:264:45 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:264:37 [INFO] [stderr] | [INFO] [stderr] 264 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 265 | | w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset)) [INFO] [stderr] 266 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:267:85 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:267:77 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:267:69 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:267:61 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:267:53 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:267:45 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:267:37 [INFO] [stderr] | [INFO] [stderr] 267 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| { [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 268 | | w.bits(r.bits() & !(0b1 << $i)) [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:295:89 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________________________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:295:81 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:295:73 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:295:65 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:295:57 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:295:49 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:295:41 [INFO] [stderr] | [INFO] [stderr] 295 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| { [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 296 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 297 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:300:89 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________________________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:300:81 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:300:73 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:300:65 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:300:57 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:300:49 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:300:41 [INFO] [stderr] | [INFO] [stderr] 300 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| { [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 301 | | w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2)) [INFO] [stderr] 302 | | }); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:304:85 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:304:77 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:304:69 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:304:61 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:304:53 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [INFO] [stderr] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [ [INFO] [stderr] 459 | | PD0: (pd0, 0, Input), [INFO] [stderr] 460 | | PD1: (pd1, 1, Input), [INFO] [stderr] 461 | | PD2: (pd2, 2, Input), [INFO] [stderr] ... | [INFO] [stderr] 474 | | PD15: (pd15, 15, Input), [INFO] [stderr] 475 | | ]); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: see issue #53667 for more information [INFO] [stderr] = help: add `#![feature(let_chains)]` to the crate attributes to enable [INFO] [stderr] = help: you can write `matches!(, )` instead of `let = ` [INFO] [stderr] = note: this error originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0658]: `let` expressions in this position are experimental [INFO] [stderr] --> src/gpio.rs:304:45 [INFO] [stderr] | [INFO] [stderr] 304 | let _ = let _ = let _ = let _ = let _ = let _ = let _ = let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 305 | | w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset)) [INFO] [stderr] 306 | | }); [INFO] [stderr] | |______________________________^ [INFO] [stderr] ... [WARN] too many lines in the log, truncating it