Skip to content

[LWG 4] LWG3441 Misleading note about calls to customization points #6117

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 1 commit into from
Mar 7, 2023
Merged
Show file tree
Hide file tree
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
2 changes: 0 additions & 2 deletions source/iterators.tex
Original file line number Diff line number Diff line change
Expand Up @@ -7201,8 +7201,6 @@
\libheaderrefx{unordered_map}{unord.map.syn},
\libheaderrefx{unordered_set}{unord.set.syn}, and
\libheaderref{vector}.
Each of these templates
is a designated customization point\iref{namespace.std}.

\indexlibrary{\idxcode{begin(C\&)}}%
\begin{itemdecl}
Expand Down
47 changes: 0 additions & 47 deletions source/lib-intro.tex
Original file line number Diff line number Diff line change
Expand Up @@ -2863,53 +2863,6 @@
either a standard library non-static member function\iref{member.functions}
or an instantiation of a standard library member function template.

\pnum
Other than in namespace \tcode{std}
or in a namespace
within namespace \tcode{std},
a program may provide
an overload for any library function template
designated as a \defn{customization point},
provided that
(a)
the overload's declaration depends
on at least one user-defined type
and
(b)
the overload meets the standard library requirements
for the customization point.
\begin{footnote}
Any library customization point
must be prepared
to work adequately
with any user-defined overload
that meets the minimum requirements
of this document.
Therefore
an implementation can elect,
under the as-if rule\iref{intro.execution},
to provide any customization point
in the form
of an instantiated function object\iref{function.objects}
even though the customization point's specification
is in the form
of a function template.
The template parameters
of each such function object
and the function parameters
and return type
of the object's \tcode{operator()}
must match those
of the corresponding customization point's specification.
\end{footnote}
\begin{note}
This permits
a (qualified or unqualified) call
to the customization point
to invoke the most appropriate overload
for the given arguments.
\end{note}

\pnum
A translation unit shall not declare namespace \tcode{std} to be an inline namespace\iref{namespace.def}.

Expand Down
2 changes: 0 additions & 2 deletions source/utilities.tex
Original file line number Diff line number Diff line change
Expand Up @@ -247,8 +247,6 @@

\pnum
\remarks
This function
is a designated customization point\iref{namespace.std}.
The exception specification is equivalent to:

\begin{codeblock}
Expand Down