cplusplus / cplusplus/draft

[expr.prim.lambda.capture] vs. [basic.def.odr] in their use of «names»/«named by»

Open
#5,243 1 comment 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

[expr.prim.lambda.capture]/7:

an id-expression that names one or more non-static class members and does not form a pointer to member ([expr.unary.op]) potentially references *this.
[Note 3: This occurs even if overload resolution selects a static member function for the id-expression. — end note]

The issue is that the normative part (plural «more non-static class members») and the Note are not compatible with [basic.def.odr], which says that

A function is named by an expression or conversion as follows:
— A function is named by an expression or conversion if it is the selected member of an overload set

P.S. Why the first bullet in [expr.prim.lambda.capture]/7 uses semicolon? I think it should be just split into two bullets.

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 comparing [expr.prim.lambda.capture]/7 with the “named by” rule in [basic.def.odr], including the note and bullet punctuation identified in the issue. Determine wording that makes the treatment of selected overloads and non-static members consistent; done when the relevant standard text no longer conflicts.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.