Skip to content

Commit 305fe75

Browse files
committed
P3914R0: Re NB US 209-332 (C++26 CD)
Fixes NB US 209-332 (C++26 CD).
1 parent 8e3a8dc commit 305fe75

File tree

1 file changed

+17
-17
lines changed

1 file changed

+17
-17
lines changed

source/exec.tex

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1364,6 +1364,18 @@
13641364
shall denote the same type.
13651365
\end{itemize}
13661366

1367+
\pnum
1368+
\indexlibraryglobal{\tcode{\placeholder{unspecified-exception}}}%
1369+
Various function templates in subclause \ref{exec.snd}
1370+
can throw an exception of type \exposid{unspecified-exception}.
1371+
Each such exception object is of an unspecified type
1372+
such that a \grammarterm{handler} of type \tcode{exception}
1373+
matches\iref{except.handle} the exception object
1374+
but a \grammarterm{handler} of type \tcode{dependent_sender_error} does not.
1375+
\begin{note}
1376+
There is no requirement that two such exception objects have the same type.
1377+
\end{note}
1378+
13671379
\rSec2[exec.snd.expos]{Exposition-only entities}
13681380

13691381
\pnum
@@ -2068,8 +2080,6 @@
20682080
}
20692081
};
20702082
\end{codeblock}
2071-
where \tcode{\placeholder{unspecified-exception}} is
2072-
a type derived from \tcode{exception}.
20732083

20742084
\pnum
20752085
\indexlibraryglobal{\exposid{decay-copyable-result-datums}}
@@ -2082,8 +2092,6 @@
20822092
});
20832093
}
20842094
\end{codeblock}
2085-
where \tcode{\placeholder{unspecified-exception}} is
2086-
a type derived from \tcode{exception}.
20872095

20882096
\begin{itemdecl}
20892097
template<class T, class Context>
@@ -2986,7 +2994,8 @@
29862994

29872995
\pnum
29882996
\throws
2989-
An exception of an unspecified type derived from \tcode{exception} if
2997+
An exception of type
2998+
\tcode{\placeholder{unspecified-exception}}\iref{exec.snd.general} if
29902999
the expression \tcode{Q()(env)} is ill-formed or has type \tcode{void}, where
29913000
\tcode{env} is an lvalue subexpression whose type is \tcode{Env}.
29923001
\end{itemdescr}
@@ -3822,8 +3831,6 @@
38223831
};
38233832
cs.@\exposid{for-each}@(@\exposid{overload-set}@{fn, [](auto){}});
38243833
\end{codeblock}
3825-
where \tcode{\placeholder{unspecified-exception}} is
3826-
a type derived from \tcode{exception}.
38273834
\end{itemdescr}
38283835

38293836
\pnum
@@ -3972,8 +3979,6 @@
39723979
};
39733980
cs.@\exposid{for-each}@(@\exposid{overload-set}@(fn, [](auto){}));
39743981
\end{codeblock}
3975-
where \tcode{\placeholder{unspecified-exception}} is
3976-
a type derived from \tcode{exception}, and
39773982
where \tcode{\placeholder{is-valid-let-sender}} is \tcode{true} if and only if
39783983
all of the following are \tcode{true}:
39793984
\begin{itemize}
@@ -4258,8 +4263,6 @@
42584263
};
42594264
cs.@\exposid{for-each}@(@\exposid{overload-set}@(fn, [](auto){}));
42604265
\end{codeblock}
4261-
where \tcode{\placeholder{unspecified-exception}} is
4262-
a type derived from \tcode{exception}.
42634266
\end{itemdescr}
42644267

42654268
\pnum
@@ -4475,14 +4478,13 @@
44754478
};
44764479
(fn.template operator()<@\exposid{child-type}@<Sndr, Is>>(), ...);
44774480
\end{codeblock}
4478-
where \tcode{\placeholder{unspecified-exception}} is
4479-
a type derived from \tcode{exception}.
44804481

44814482
\pnum
44824483
\throws
44834484
Any exception thrown as a result of evaluating the \Fundescx{Effects}, or
4484-
an exception of an unspecified type
4485-
derived from \tcode{exception} when \tcode{CD} is ill-formed.
4485+
an exception of type
4486+
\tcode{\placeholder{unspecified-\brk{}exception}}\iref{exec.snd.general}
4487+
when \tcode{CD} is ill-formed.
44864488
\end{itemdescr}
44874489

44884490
\pnum
@@ -4820,8 +4822,6 @@
48204822
};
48214823
}
48224824
\end{codeblock}
4823-
where \tcode{\placeholder{unspecified-exception}} is
4824-
a type derived from \tcode{exception}.
48254825

48264826
\pnum
48274827
Let \tcode{sndr} and \tcode{env} be subexpressions

0 commit comments

Comments
 (0)