|
1364 | 1364 | shall denote the same type. |
1365 | 1365 | \end{itemize} |
1366 | 1366 |
|
| 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 | + |
1367 | 1379 | \rSec2[exec.snd.expos]{Exposition-only entities} |
1368 | 1380 |
|
1369 | 1381 | \pnum |
|
2068 | 2080 | } |
2069 | 2081 | }; |
2070 | 2082 | \end{codeblock} |
2071 | | -where \tcode{\placeholder{unspecified-exception}} is |
2072 | | -a type derived from \tcode{exception}. |
2073 | 2083 |
|
2074 | 2084 | \pnum |
2075 | 2085 | \indexlibraryglobal{\exposid{decay-copyable-result-datums}} |
|
2082 | 2092 | }); |
2083 | 2093 | } |
2084 | 2094 | \end{codeblock} |
2085 | | -where \tcode{\placeholder{unspecified-exception}} is |
2086 | | -a type derived from \tcode{exception}. |
2087 | 2095 |
|
2088 | 2096 | \begin{itemdecl} |
2089 | 2097 | template<class T, class Context> |
|
2986 | 2994 |
|
2987 | 2995 | \pnum |
2988 | 2996 | \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 |
2990 | 2999 | the expression \tcode{Q()(env)} is ill-formed or has type \tcode{void}, where |
2991 | 3000 | \tcode{env} is an lvalue subexpression whose type is \tcode{Env}. |
2992 | 3001 | \end{itemdescr} |
|
3822 | 3831 | }; |
3823 | 3832 | cs.@\exposid{for-each}@(@\exposid{overload-set}@{fn, [](auto){}}); |
3824 | 3833 | \end{codeblock} |
3825 | | -where \tcode{\placeholder{unspecified-exception}} is |
3826 | | -a type derived from \tcode{exception}. |
3827 | 3834 | \end{itemdescr} |
3828 | 3835 |
|
3829 | 3836 | \pnum |
|
3972 | 3979 | }; |
3973 | 3980 | cs.@\exposid{for-each}@(@\exposid{overload-set}@(fn, [](auto){})); |
3974 | 3981 | \end{codeblock} |
3975 | | -where \tcode{\placeholder{unspecified-exception}} is |
3976 | | -a type derived from \tcode{exception}, and |
3977 | 3982 | where \tcode{\placeholder{is-valid-let-sender}} is \tcode{true} if and only if |
3978 | 3983 | all of the following are \tcode{true}: |
3979 | 3984 | \begin{itemize} |
|
4258 | 4263 | }; |
4259 | 4264 | cs.@\exposid{for-each}@(@\exposid{overload-set}@(fn, [](auto){})); |
4260 | 4265 | \end{codeblock} |
4261 | | -where \tcode{\placeholder{unspecified-exception}} is |
4262 | | -a type derived from \tcode{exception}. |
4263 | 4266 | \end{itemdescr} |
4264 | 4267 |
|
4265 | 4268 | \pnum |
|
4475 | 4478 | }; |
4476 | 4479 | (fn.template operator()<@\exposid{child-type}@<Sndr, Is>>(), ...); |
4477 | 4480 | \end{codeblock} |
4478 | | -where \tcode{\placeholder{unspecified-exception}} is |
4479 | | -a type derived from \tcode{exception}. |
4480 | 4481 |
|
4481 | 4482 | \pnum |
4482 | 4483 | \throws |
4483 | 4484 | 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. |
4486 | 4488 | \end{itemdescr} |
4487 | 4489 |
|
4488 | 4490 | \pnum |
|
4820 | 4822 | }; |
4821 | 4823 | } |
4822 | 4824 | \end{codeblock} |
4823 | | -where \tcode{\placeholder{unspecified-exception}} is |
4824 | | -a type derived from \tcode{exception}. |
4825 | 4825 |
|
4826 | 4826 | \pnum |
4827 | 4827 | Let \tcode{sndr} and \tcode{env} be subexpressions |
|
0 commit comments