Skip to content

[namespace.udecl] Demote normative duplication to notes #1976

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

Merged
merged 2 commits into from
Jul 6, 2018
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 10 additions & 6 deletions source/declarations.tex
Original file line number Diff line number Diff line change
Expand Up @@ -3043,24 +3043,28 @@

\pnum
\indextext{overloading!using-declaration and}%
\begin{note}
For the purpose of forming a set of candidates during overload resolution,
the functions that are
introduced by a \grammarterm{using-declaration} into a derived class
are treated as though they were members of the derived class. In
particular, the implicit \tcode{this} parameter shall be treated as if
it were a pointer to the derived class rather than to the base class.
are treated as though they were members of the derived class\iref{class.member.lookup}. In
particular, the implicit object parameter is treated as if
it were a reference to the derived class rather than to the base class\iref{over.match.funcs}.
This has no effect on the type of the function, and in all other
respects the function remains a member of the base class.
Likewise, constructors that are introduced by a \grammarterm{using-declaration}
\end{note}

\pnum
Constructors that are introduced by a \grammarterm{using-declaration}
are treated as though they were constructors of the derived class
when looking up the constructors of the derived class\iref{class.qual}
or forming a set of overload candidates~(\ref{over.match.ctor}, \ref{over.match.copy}, \ref{over.match.list}).
\begin{note}
If such a constructor is selected to perform the initialization
of an object of class type, all subobjects other than the base class
from which the constructor originated
are implicitly initialized\iref{class.inhctor.init}.
\begin{note}
A member of a derived class is sometimes preferred to a member of a base class
Copy link
Member Author

Choose a reason for hiding this comment

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

Editorial meeting consensus: Do not move this note, change "member" to "constructor".

Copy link
Member Author

Choose a reason for hiding this comment

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

Done.

A constructor of a derived class is sometimes preferred to a constructor of a base class
if they would otherwise be ambiguous\iref{over.match.best}.
\end{note}

Expand Down