Skip to content

Commit 96f695a

Browse files
committed
[basic.def.odr] Restructure requirements in p14-p15
1 parent a34d2e0 commit 96f695a

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

source/basic.tex

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -698,7 +698,12 @@
698698
were present in the definition of \tcode{D};
699699
that is, the default argument or default template argument
700700
is subject to the requirements described in this paragraph (recursively).
701+
\end{itemize}
702+
703+
\pnum
704+
For the purposes of the preceding requirements:
701705

706+
\begin{itemize}
702707
\item If \tcode{D} is a class with an implicitly-declared
703708
constructor\iref{class.default.ctor,class.copy.ctor},
704709
it is as if the constructor was
@@ -738,14 +743,16 @@
738743
implicitly defined in every translation unit where it is odr-used, and the
739744
implicit definition in every translation unit shall call the same
740745
comparison operators for each subobject of \tcode{D}.
741-
\end{itemize}
742746

743-
\pnum
747+
\item
744748
If \tcode{D} is a template and is defined in more than one
745-
translation unit, then the preceding requirements
746-
shall apply both to names from the template's enclosing scope used in the
749+
translation unit, the requirements
750+
apply both to names from the template's enclosing scope used in the
747751
template definition, and also to dependent names at
748752
the point of instantiation\iref{temp.dep}.
753+
\end{itemize}
754+
755+
\pnum
749756
These requirements also apply to corresponding entities
750757
defined within each definition of \tcode{D}
751758
(including the closure types of \grammarterm{lambda-expression}{s},

0 commit comments

Comments
 (0)