Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[class.abstract] Clean up redundant wording #3960

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

sdkrystian
Copy link
Contributor

@sdkrystian sdkrystian commented Apr 29, 2020

[class.abstract] p2 sentence 3 is entirely redundant by [class.abstract] p4, [class.abstract] sentence 5 is redundant by [basic.def.odr] p3.1, the normative specification for [class.abstract] p6 makes more sense in [class.cdtor] p4, [class.abstract] p2 note 2 and [class.abstract] p3 can be merged into a single note, and the definition of abstract class in [class.abstract] p4 doesn't need to care about final overriders, since members of a base class that aren't redeclared are members of the derived class.

The definition of pure virtual function should probably use \defnadj, but please let me know what makes the most sense :)

Copy link
Member

@jensmaurer jensmaurer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The motivation is good, but the note highlighting the allowed / disallowed situations for abstract classes isn't stellar yet.

source/classes.tex Outdated Show resolved Hide resolved
source/classes.tex Outdated Show resolved Hide resolved
source/classes.tex Outdated Show resolved Hide resolved
In general, an abstract class type can only be used
\begin{itemize}
\item
as the referred to type in a reference,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No. That's awkward and needs at least a hyphen, but even better, needs a rephrasing. Maybe "referenced type" and "pointee type" or so?

source/classes.tex Outdated Show resolved Hide resolved
\item
in an explicit type conversion
to the above types~(\ref{expr.static.cast}, \ref{expr.reinterpret.cast},
\ref{expr.const.cast}, \ref{expr.dynamic.cast}), or
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's an odd point to make, given that you already highlighted that you can form pointers and references to abstract class types.

source/classes.tex Outdated Show resolved Hide resolved
source/classes.tex Show resolved Hide resolved
source/classes.tex Outdated Show resolved Hide resolved
@zygoloid zygoloid added this to the C++23 milestone Sep 18, 2020
@zygoloid zygoloid added the changes requested Changes to the wording or approach have been requested and not yet applied. label Oct 18, 2020
@wg21bot wg21bot added the needs rebase The pull request needs a git rebase to resolve merge conflicts. label Jun 15, 2021
@jensmaurer jensmaurer removed this from the C++23 milestone Oct 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changes requested Changes to the wording or approach have been requested and not yet applied. needs rebase The pull request needs a git rebase to resolve merge conflicts.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants