"https://github.com/rust-embedded..." <- i had a shower thought this morning for something which might help us if rustc/cargo would support it: non-binary features. currently, HALs often violate the "only additive features" rule of cargo by having one feature per chip and then a bunch of manual checks to ensure that exactly one has been selected. it might be nice if something like the following were possible in `Cargo.toml` (pseudo code; example based on `stm32f4xx-hal`): ```toml [features.chip] options = [ stm32f401 = ["stm32f4/stm32f401", "gpio-f401"], stm32f405 = ["stm32f4/stm32f405", "gpio-f417"], # more here ... ] multi_select = false ``` and then in some rust code: ```rust #[cfg(feature(chip = stm32f401))] fn something_only_for_stm32f401() {} ``` i presume i'm not the first one to come up with this idea? however i don't know how people would name this, accordingly i didn't find any proposal for it when briefly searching for it. WDYT? would this make sense? has this been previously discussed & dismissed for some reason or other? if not i can put it on your discussion (i don't necessarily have enough in-depth background (or stake) to raise the actual cargo issue upstream - i'd leave that to maintainers of crates with lots of those features which would be the ones best able to contribute to the discussion as to what's best)