Skip to content

Commit a249a90

Browse files
committed
[contents,fs.req.namespace] No argument-dependent lookup
is performed for function calls throughout the standard library, unless otherwise specified.
1 parent 930dd54 commit a249a90

File tree

4 files changed

+21
-16
lines changed

4 files changed

+21
-16
lines changed

source/containers.tex

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1535,6 +1535,8 @@
15351535
Calls \tcode{swap(ptr_, nh.ptr_)}. If \tcode{!alloc_}, or
15361536
\tcode{!nh.alloc_}, or \tcode{ator_traits::propagate_on_container_swap::value}
15371537
is \tcode{true} calls \tcode{swap(alloc_, nh.alloc_)}.
1538+
In either case, argument-dependent name lookup\iref{basic.lookup.argdep}
1539+
is not performed.
15381540
\end{itemdescr}
15391541

15401542
\rSec2[container.insert.return]{Insert return type}

source/iostreams.tex

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11511,8 +11511,6 @@
1151111511

1151211512
\rSec2[fs.req]{Requirements}
1151311513

11514-
\rSec3[fs.req.general]{General}
11515-
1151611514
\pnum
1151711515
Throughout subclause~\ref{filesystems}, \tcode{char}, \tcode{wchar_t}, \tcode{char8_t},
1151811516
\tcode{char16_t}, and \tcode{char32_t} are collectively called
@@ -11541,12 +11539,6 @@
1154111539
Template parameters named \tcode{Allocator} shall meet the
1154211540
\oldconcept{Allocator} requirements (\tref{cpp17.allocator}).
1154311541

11544-
\rSec3[fs.req.namespace]{Namespaces and headers}
11545-
11546-
\pnum
11547-
Unless otherwise specified, references to entities described in
11548-
subclause~\ref{filesystems} are assumed to be qualified with \tcode{::std::filesystem::}.
11549-
1155011542
\rSec2[fs.filesystem.syn]{Header \tcode{<filesystem>} synopsis}
1155111543

1155211544
\indexheader{filesystem}%

source/lib-intro.tex

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -900,14 +900,19 @@
900900
\end{footnote}
901901

902902
\pnum
903-
Whenever a name \tcode{x} defined in the standard library is mentioned,
904-
the name \tcode{x} is assumed to be fully qualified as
905-
\tcode{::std::x},
906-
unless explicitly described otherwise. For example, if the \effects element
907-
for library function \tcode{F} is described as calling library function \tcode{G},
908-
the function
909-
\tcode{::std::G}
910-
is meant.
903+
Unless otherwise specified,
904+
argument-dependent name lookup\iref{basic.lookup.argdep} is only performed
905+
within the standard library
906+
\begin{itemize}
907+
\item
908+
for \grammarterm{operator-function-id}s and
909+
\item
910+
for the \grammarterm{identifier} \tcode{swap},
911+
in an overload-resolution context for swappable values\iref{swappable.requirements}.
912+
\end{itemize}
913+
\begin{note}
914+
An implementation could use \grammarterm{qualified-id}{s} to achieve that.
915+
\end{note}
911916

912917
\rSec3[headers]{Headers}
913918

source/xrefdelta.tex

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,5 +44,11 @@
4444
\movedxref{temp.class.order}{temp.spec.partial.order}
4545
\movedxref{temp.class.spec.mfunc}{temp.spec.partial.member}
4646

47+
% Consolidated boilerplate about argument-dependent lookup in [contents].
48+
\removedxref{fs.req.namespace}
49+
50+
% Dissolved the only sibling subclause
51+
\movedxref{fs.req.general}{fs.req}
52+
4753
% Deprecated features.
4854
%\deprxref{old.label} (if moved to depr.old.label, otherwise use \movedxref)

0 commit comments

Comments
 (0)