cplusplus / cplusplus/draft

[basic.lookup.unqual] p5 The component names of a type-specifier or ptr-operator are underspecified

Open
#5,221 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TeX
Stars
221
Forks
813
Avg merge
16h 4m
Merged PRs (30d)
36

Description

An unqualified name that is a component name ([expr.prim.id.unqual]) of a type-specifier or ptr-operator of a conversion-type-id is looked up in the same fashion as the conversion-function-id in which it appears.

The component names of a type-specifier is not explicitly specified in subclause [dcl.type.general]. As well, the component names of a ptr-operator is not specified in subclause [dcl.decl.general].

A type-specifier is

  • simple-type-specifier
  • elaborated-type-specifier
  • typename-specifier
  • cv-qualifier

The component names of the first three components are specified in their respective subclauses. However, a type-specifier can be a simple-type-specifier or any other component in the list, but we cannot conversely say any component in the list is called type-specifier. So, we should explicitly specify what component names of a type-specifier are.

The component names of a type-specifier are those of the simple-type-specifier, the elaborated-type-specifier, or the typename-specifier.

As well,

ptr-operator:

    • attribute-specifier-seqopt cv-qualifier-seqopt
  • & attribute-specifier-seqopt
  • && attribute-specifier-seqopt
  • nested-name-specifier * attribute-specifier-seqoptcv-qualifier-seqopt

we can say a ptr-operator is any component in the list but not the other way around. So, we should explicitly specify what component names of a ptr-operator are.

The component names of a ptr-operator are those of its nested-name-specifier(if any).

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the issue's references to [dcl.type.general] and [dcl.decl.general], then inspect how component names are specified for the related type-specifier and ptr-operator subclauses. Done means the draft explicitly defines the component names for both constructs and matches the proposed wording and grammar.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, tex
Domain
documentation
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.