Skip to content

Commit 9060df4

Browse files
authored
Merge 2018-11 CWG Motion 1
P1350R0 Core Language Working Group "tentatively ready" Issues (San Diego) Fixes #2394
2 parents 9bcfe7d + bb6f40f commit 9060df4

File tree

4 files changed

+10
-8
lines changed

4 files changed

+10
-8
lines changed

source/declarations.tex

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4356,6 +4356,11 @@
43564356
If the conversion cannot be done or is
43574357
ambiguous, the initialization is ill-formed.
43584358
\item
4359+
Otherwise, if the initialization is direct-initialization,
4360+
the source type is \tcode{std::nullptr_t}, and
4361+
the destination type is \tcode{bool},
4362+
the initial value of the object being initialized is \tcode{false}.
4363+
\item
43594364
Otherwise, the initial value of the object being initialized is
43604365
the (possibly converted) value of the initializer expression.
43614366
Standard conversions\iref{conv} will be used, if necessary,
@@ -6357,7 +6362,7 @@
63576362
values in the range $b_\text{min}$ to $b_\text{max}$, defined as follows: Let $K$
63586363
be 1 for a two's complement representation and 0 for a ones' complement
63596364
or sign-magnitude representation. $b_\text{max}$ is the smallest value
6360-
greater than or equal to $max(|e_\text{min}| - K, |e_\text{max}|)$ and equal to
6365+
greater than or equal to $max(|e_\text{min}| - K, e_\text{max})$ and equal to
63616366
$2^M-1$, where $M$ is a non-negative integer. $b_\text{min}$ is zero if
63626367
$e_\text{min}$ is non-negative and $-(b_\text{max}+K)$ otherwise. The size of the
63636368
smallest bit-field large enough to hold all the values of the

source/expressions.tex

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1068,10 +1068,7 @@
10681068
A prvalue of arithmetic, unscoped enumeration, pointer, or pointer-to-member
10691069
type can be converted to a prvalue of type \tcode{bool}. A zero value, null
10701070
pointer value, or null member pointer value is converted to \tcode{false}; any
1071-
other value is converted to \tcode{true}. For
1072-
direct-initialization\iref{dcl.init}, a prvalue of type
1073-
\tcode{std::nullptr_t} can be converted to a prvalue of type
1074-
\tcode{bool}; the resulting value is \tcode{false}.
1071+
other value is converted to \tcode{true}.
10751072

10761073
\indextext{conversion!standard|)}
10771074

source/overloading.tex

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2747,8 +2747,7 @@
27472747

27482748
\begin{itemize}
27492749
\item
2750-
A conversion that does not convert a pointer,
2751-
a pointer to member, or \tcode{std::nullptr_t}
2750+
A conversion that does not convert a pointer or a pointer to member
27522751
to
27532752
\tcode{bool}
27542753
is better than one that does.

source/templates.tex

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3799,7 +3799,8 @@
37993799
in the type of the value synthesized for a non-type template parameter
38003800
is also a unique synthesized type.
38013801
\end{note}
3802-
If only one of the function templates \placeholder{M} is a non-static
3802+
If only one of the function templates \placeholder{M} is
3803+
a member function, and that function is a non-static
38033804
member of some class \placeholder{A}, \placeholder{M} is considered to have
38043805
a new first parameter inserted in its function
38053806
parameter list. Given \cv{} as the cv-qualifiers of \placeholder{M}

0 commit comments

Comments
 (0)