According to the RTIC documentation (source):
[...] ARMv6-M/ARMv8-M-base cannot have tasks with shared resources bound to exception handlers, as these cannot be masked in hardware.
This sentence seems to indicate that on ARMv6-M something like this won't work (and indeed on RTIC v1 this produced a compile-time error):
#[task(binds = SysTick, shared = [peripheral])]
fn watchdog(mut ctx: watchdog::Context) {
ctx.shared.peripheral.lock(|p| p.whatever());
}
However, with RTIC v2 this code compiles just fine on thumbv6m-none-eabi with the thumbv6-backend feature enabled.
What's going on here? Is there a bug in RTIC? Is there outdated info in the documentation? Am I just completely misunderstanding something?