cplusplus / cplusplus/draft

[class.member.lookup] Clarify "unambiguous base class"

Open
#5,173 2 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

We refer to "unambiguous base class" in this document many times but we never clearly define the concept in this document. I think we can define this concept with the help of [class.member.lookup] p5.3.

[class.member.lookup] p5.3 says

Otherwise, the new S(N, C) is a lookup set with the shared set of declarations and the union of the subobject sets.

We can say

A non-dependent class type B is an unambiguous base class of class C, if and only if C is derived from B and the declaration set and the subobject set of S(B, C) consist of a unique declaration of B and a unique member subobject, respectively.

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

Search the draft for uses of “unambiguous base class” and read [class.member.lookup] p5.3, which the issue cites as the basis for the definition. Update the document so the concept is clearly defined and its existing uses remain 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
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.