[dcl.meaning.general] p5 Normalization of any declaration
Nobody has claimed this yet.
- Dominant language
- TeX
- Stars
- 221
- Forks
- 813
- Avg merge
- 16h 4m
- Merged PRs (30d)
- 36
Description
[dcl.meaning.general] p5 says
Thus, (for each declarator) a declaration has the form
T D
where T is of the form attribute-specifier-seq opt decl-specifier-seq and D is a declarator. Following is a recursive procedure for determining the type specified for the contained declarator-id by such a declaration.
However, not all declarations consist of only T and D, such as
int i = 0; // #1
template<class T>
struct C{
void fun() requires (sizeof(T)> 0); // #2
};
The complete declaration at #1 comprises the initializer while the declaration at #2 comprises a requires-clause. It can arguably say the form T D cannot be used to designate(match) these declarations at all. The subsequent subclauses that describe the type of a declaration all base on the form T D. Should we give a normalization to any declaration in [dcl.meaning.general] p5 in order to make these subsequence subclauses apply to these declarations? That is
Thus, for a declaration D0, a declaration has the form
T D
is produced where T is of the form attribute-specifier-seq opt decl-specifier-seqopt from D0 and D is the declarator of D0. Following is a recursive procedure for determining the type specified for the contained declarator-id by such a declaration.
Hence, for any declaration, we can abstract a normalization form T D from it such that the subsequent descriptions base on "T D" can work for that declaration.
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 with [dcl.meaning.general] p5 and the two declaration examples marked #1 and #2, then trace the subsequent subclauses that rely on the T D form. Done means resolving whether a normalized T D form is needed for these declarations and documenting the agreed standard wording.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100