diff --git a/source/declarations.tex b/source/declarations.tex index 627360a226..b1808fb9c8 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -7371,17 +7371,6 @@ of a coroutine is ill-formed\iref{dcl.contract.func}. \end{note} -\pnum -If searches for the names \tcode{return_void} and \tcode{return_value} -in the scope of the promise type each find any declarations, -the program is ill-formed. -\begin{note} -If \tcode{return_void} is found, flowing off -the end of a coroutine is equivalent to a \keyword{co_return} with no operand. -Otherwise, flowing off the end of a coroutine -results in undefined behavior\iref{stmt.return.coroutine}. -\end{note} - \pnum The expression \tcode{\exposid{promise}.get_return_object()} is used to initialize diff --git a/source/preprocessor.tex b/source/preprocessor.tex index 0bfb7f194f..978911959b 100644 --- a/source/preprocessor.tex +++ b/source/preprocessor.tex @@ -2408,7 +2408,7 @@ \defnxname{cpp_hex_float} & \tcode{201603L} \\ \rowsep \defnxname{cpp_if_consteval} & \tcode{202106L} \\ \rowsep \defnxname{cpp_if_constexpr} & \tcode{201606L} \\ \rowsep -\defnxname{cpp_impl_coroutine} & \tcode{201902L} \\ \rowsep +\defnxname{cpp_impl_coroutine} & \tcode{202606L} \\ \rowsep \defnxname{cpp_impl_destroying_delete} & \tcode{201806L} \\ \rowsep \defnxname{cpp_impl_reflection} & \tcode{202603L} \\ \rowsep \defnxname{cpp_impl_three_way_comparison} & \tcode{201907L} \\ \rowsep diff --git a/source/statements.tex b/source/statements.tex index fa6944b172..7602093608 100644 --- a/source/statements.tex +++ b/source/statements.tex @@ -1221,8 +1221,7 @@ \end{itemize} \pnum -If a search for the name \tcode{return_void} in the scope of the promise type -finds any declarations, +If overload resolution for \placeholder{p}\tcode{.return_void()} succeeds, flowing off the end of a coroutine's \grammarterm{function-body} is equivalent to a \keyword{co_return} with no operand; otherwise flowing off the end of a coroutine's \grammarterm{function-body}