As of nightly-2022-03-28, some of our code utilizing macros in atsamd started to fail to compile. The code that is failing is some macro magic for making nice pin name aliases for microcontrollers, so it's not surprising that #92472 broke it. I see that some other repos were broken as well and that @petrochenkov helped fix it, but I'm really not sure how to do the fix in our repo.
Code
To reproduce:
- clone the
atsamd repo
rustup default nightly-2022-03-28 && rustup target add thumbv6m-none-eabi
cd atsamd/boards/feather_m0
cargo check --example=blinky_basic
I expect this to compile properly like on stable, instead it fails to compile with:
error: no rules expected the token `red_led`
--> examples/blinky_basic.rs:30:52
|
30 | let mut red_led: bsp::RedLed = pin_alias!(pins.red_led).into();
| ^^^^^^^ no rules expected this token in macro call
Version it worked on
It most recently worked on: nightly-2022-03-27
Version with regression
Regressed to 551b4fa with cargo-bisect-rustc (cargo bisect-rustc --start=1d9c262eea411ec5230f8a4c9ba50b3647064da4 --end=ab0c2e18dceb7140626a158affb983ae81039bd0 --target thumbv6m-none-eabi -- check --example=blinky_basic)
rustc --version --verbose:
rustc --version --verbose
rustc 1.61.0-nightly (ab0c2e18d 2022-03-27)
binary: rustc
commit-hash: ab0c2e18dceb7140626a158affb983ae81039bd0
commit-date: 2022-03-27
host: x86_64-apple-darwin
release: 1.61.0-nightly
LLVM version: 14.0.0
installed targets for active toolchain
--------------------------------------
thumbv6m-none-eabi
x86_64-apple-darwin
active toolchain
----------------
nightly-2022-03-28-x86_64-apple-darwin (default)
rustc 1.61.0-nightly (ab0c2e18d 2022-03-27)
@rustbot modify labels: +regression-from-stable-to-nightly -regression-untriaged
As of
nightly-2022-03-28, some of our code utilizing macros inatsamdstarted to fail to compile. The code that is failing is some macro magic for making nice pin name aliases for microcontrollers, so it's not surprising that #92472 broke it. I see that some other repos were broken as well and that @petrochenkov helped fix it, but I'm really not sure how to do the fix in our repo.Code
To reproduce:
atsamdreporustup default nightly-2022-03-28 && rustup target add thumbv6m-none-eabicd atsamd/boards/feather_m0cargo check --example=blinky_basicI expect this to compile properly like on stable, instead it fails to compile with:
Version it worked on
It most recently worked on:
nightly-2022-03-27Version with regression
Regressed to 551b4fa with
cargo-bisect-rustc(cargo bisect-rustc --start=1d9c262eea411ec5230f8a4c9ba50b3647064da4 --end=ab0c2e18dceb7140626a158affb983ae81039bd0 --target thumbv6m-none-eabi -- check --example=blinky_basic)rustc --version --verbose:@rustbot modify labels: +regression-from-stable-to-nightly -regression-untriaged