Combining `@Config(Base)` with other options behaves unexpectedly
- Dominant language
- Rust
- Stars
- 1k
- Forks
- 212
- Avg merge
- 3d 8h
- Merged PRs (30d)
- 65
Description
When combining multiple config attributes to control conditional compilation, the "Base" flag that means "no capabilities" ends up combining incorrectly. Something marked as both "Base" and "Adaptive" should never be in the compilation, because something cannot both match "no capabilities" and the "Adaptive" capability. Instead, it shows up for anything that isn't base profile. Rather than trying to make these combos work, we should disallow "Base" from combining with anything (it's only valid to ask for "has no capabilities" in its own and not when combined with anything else).
Contributor guide
Research direction
The issue names no files, tests, or entry points. Start by locating the conditional-compilation handling for @Config(Base), then trace how combined options are evaluated. Done means Base is rejected when combined with any other option, with coverage for the invalid combination and the standalone Base case.
Written by the indexing model from the issue text.
Assessment
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100