cplusplus / cplusplus/draft

[class.member.lookup] lookups names in base class *subobjects*

Open
#3,519 4 comments 1 reaction 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

I think subobjects do not contain names, but base classes do.

[class.virtual]/2 also says "(base) class (sub)object" when it should say "(base) class":

A virtual member function C::vf of a class object S is a final overrider unless the most derived class (6.7.2) of which S is a base class subobject (if any) declares or inherits another member function that overrides vf. In a derived class, if a virtual member function of a base class subobject has more than one final overrider the program is ill-formed.

I believe such fix would be consistent with the wording in [class.derived]:

A class B is a base class of a class D if it is a direct base class of D or a direct base class of one of D’s base classes.

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

Read the cited [class.member.lookup], [class.virtual]/2, and [class.derived] clauses in the draft source. Check whether the references to base-class subobjects are accurate and whether the proposed wording is consistent across the clauses. Done means the relevant standard wording is corrected and the surrounding terminology remains consistent.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.