compiletest: error on duplicate directives
Open
Nobody has claimed this yet.
A-compiletest
C-bug
S-blocked
T-compiler
- Dominant language
- Rust
- Stars
- 119k
- Forks
- 16.1k
- PR merge metrics
- PR metrics pending
Description
E.g.
//@ add-minicore
//@ compile-flags: --target thumbv8m.main-none-eabi --crate-type lib
//@ needs-llvm-components: arm
//@ add-minicore
should produce an error.
However, note that this should only apply for non-additive directives, e.g.
//@ compile-flags: -Cabc
//@ compile-flags: -Cdef
are additive directives, so that must not error.
(Blocked on reworking how directives are registered/handled in the first place to avoid making more complications.)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by inspecting compiletest's directive registration and handling, as the issue notes this must be reworked first. Distinguish duplicate non-additive directives from repeated additive directives such as compile-flags; done means the former produce an error while the latter remain accepted.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- compilers, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100