Integral promotion of enums should go all the way
Nobody has claimed this yet.
- Dominant language
- TeX
- Stars
- 221
- Forks
- 813
- Avg merge
- 16h 4m
- Merged PRs (30d)
- 36
Description
According to [conv.prom]/4, there are two possible forms of promotion that can be applied to an enumeration whose underlying type is fixed. For example, an enum with fixed underlying type of signed char can be promoted to either signed char or int (i.e. the result of promoting signed char).
However, the standard in various places refers to the idea of promoting an operand, as if it had an unambiguous meaning, e.g. in [expr.arith.conv]. The intended meaning, in the case of enums, is to promote them to a type that can't be promoted anymore (i.e., if the underlying type has lesser rank than int, then the promotion is to the promoted underlying type). This should be clarified.
Contributor guide
No contributing guide indexed for this repository
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 reading [conv.prom]/4 and [expr.arith.conv] in the draft, then inspect how the surrounding wording uses “promote an operand.” Clarify the enumeration case so promotion has an unambiguous meaning consistent with the intended final promoted underlying type, and verify the affected cross-references remain consistent.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- tex
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100