Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
e6a9da6
CWG2054 Missing description of class SFINAE
burblebee Nov 13, 2023
2290a03
CWG2102 Constructor checking in new-expression
burblebee Nov 13, 2023
1cbe98e
CWG2252 Enumeration list-initialization from the same type
burblebee Nov 13, 2023
ead2f0a
CWG2504 Inheriting constructors from virtual base classes
burblebee Nov 13, 2023
17ad6db
CWG2531 Static data members redeclared as constexpr
burblebee Nov 13, 2023
c1e3e24
CWG2556 Unusable promise::return_void
burblebee Nov 13, 2023
f5dde4d
CWG2570 Clarify constexpr for defaulted functions
burblebee Nov 13, 2023
e3076f8
CWG2591 Implicit change of active union member for anonymous union in…
burblebee Nov 13, 2023
58a96f1
CWG2595 "More constrained" for eligible special member functions
burblebee Nov 13, 2023
c8cca13
CWG2600 Type dependency of placeholder types
burblebee Nov 13, 2023
bd18226
CWG2628 Implicit deduction guides should propagate constraints
burblebee Nov 13, 2023
f303385
CWG2672 Lambda body SFINAE is still required, contrary to intent and …
burblebee Nov 13, 2023
f3bed0c
CWG2725 Overload resolution for non-call of class member access
burblebee Nov 13, 2023
92b99b6
CWG2733 Applying [[maybe_unused]] to a label
burblebee Nov 13, 2023
c5b42c9
CWG2747 Cannot depend on an already-deleted splice
burblebee Nov 13, 2023
7b2b2e1
CWG2749 Treatment of "pointer to void" for relational comparisons
burblebee Nov 13, 2023
eed7b9c
CWG2753 Storage reuse for string literal objects and backing arrays
burblebee Nov 13, 2023
6cb09a1
[intro.object] Use bullets to help clarify wording added in CWG2753.
burblebee Nov 13, 2023
07113e5
CWG2754 Using *this in explicit object member functions that are coro…
burblebee Nov 13, 2023
667129b
CWG2755 Incorrect wording applied by P2738R1
burblebee Nov 13, 2023
73bb723
CWG2758 What is "access and ambiguity control"?
burblebee Nov 13, 2023
218cee1
CWG2759 [[no_unique_address] and common initial sequence
burblebee Nov 13, 2023
25dd302
CWG2760 Defaulted constructor that is an immediate function
burblebee Nov 13, 2023
f41b535
CWG2761 Implicitly invoking the deleted destructor of an anonymous un…
burblebee Nov 13, 2023
65dd47b
CWG2762 Type of implicit object parameter
burblebee Nov 13, 2023
1227001
CWG2763 Ignorability of [[noreturn]] during constant evaluation
burblebee Nov 13, 2023
36a989c
CWG2764 Use of placeholders affecting name mangling
burblebee Nov 13, 2023
9539ea7
CWG2768 Assignment to enumeration variable with a braced-init-list
burblebee Nov 14, 2023
155e163
CWG2772 Missing Annex C entry for linkage effects of linkage-specific…
burblebee Nov 14, 2023
8ded370
CWG2780 reinterpret_cast to reference to function types
burblebee Nov 14, 2023
8f3ada9
CWG2783 Handling of deduction guides in global-module-fragment
burblebee Nov 14, 2023
05ac6f7
CWG2785 Type-dependence of requires-expression
burblebee Nov 14, 2023
520aa07
CWG2789 Overload resolution with implicit and explicit object member …
burblebee Nov 14, 2023
17cef3a
CWG2791 Unclear phrasing about "returning to the caller"
burblebee Nov 14, 2023
084900d
CWG2792 Clean up specification of noexcept operator
burblebee Nov 14, 2023
31ff201
[expr.unary.noexcept] Fix reference to "unevaluated operand" added in…
burblebee Nov 17, 2023
6fc65d5
CWG2793 Block-scope declaration conflicting with parameter name
burblebee Nov 14, 2023
15f7b23
CWG2795 Overlapping empty subobjects with different cv-qualification
burblebee Nov 14, 2023
4cba24d
CWG2796 Function pointer conversions for relational operators
burblebee Nov 14, 2023
55016c2
CWG2798 Manifestly constant evaluation of the static_assert message
burblebee Nov 14, 2023
7cb9798
CWG2801 Reference binding with reference-related types
burblebee Nov 14, 2023
81f6035
CWG2806 Make a type-requirement a type-only context
burblebee Nov 14, 2023
544c15f
CWG2807 Destructors declared consteval
burblebee Nov 14, 2023
4fb5ad3
CWG2823 Implicit undefined behavior when dereferencing pointers
burblebee Nov 14, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
CWG2791 Unclear phrasing about "returning to the caller"
  • Loading branch information
burblebee authored and tkoeppe committed Dec 17, 2023
commit 17cef3aebbc108ed8279b13ddbf054ecdef41d14
2 changes: 1 addition & 1 deletion source/declarations.tex
Original file line number Diff line number Diff line change
Expand Up @@ -6763,7 +6763,7 @@
the \tcode{::operator new(size_t, nothrow_t)} form is used.
The allocation function used in this case shall have a non-throwing
\grammarterm{noexcept-specifier}.
If the allocation function returns \keyword{nullptr}, the coroutine returns
If the allocation function returns \keyword{nullptr}, the coroutine transfers
control to the caller of the coroutine and the return value is obtained by a
call to \tcode{T::get_return_object_on_allocation_failure()}, where \tcode{T}
is the promise type.
Expand Down
2 changes: 2 additions & 0 deletions source/expressions.tex
Original file line number Diff line number Diff line change
Expand Up @@ -4747,6 +4747,8 @@
The \keyword{co_await} expression is used to suspend evaluation of a
coroutine\iref{dcl.fct.def.coroutine} while awaiting completion of
the computation represented by the operand expression.
Suspending the evaluation of a coroutine
transfers control to its caller or resumer.

\begin{bnf}
\nontermdef{await-expression}\br
Expand Down
6 changes: 3 additions & 3 deletions source/statements.tex
Original file line number Diff line number Diff line change
Expand Up @@ -846,7 +846,7 @@
\indextext{function return|see{\tcode{return}}}%

\pnum
A function returns to its caller by the \tcode{return} statement.
A function returns control to its caller by the \tcode{return} statement.

\pnum
The \grammarterm{expr-or-braced-init-list}
Expand Down Expand Up @@ -915,8 +915,8 @@
\end{bnf}

\pnum
A coroutine returns to its caller or resumer\iref{dcl.fct.def.coroutine}
by the \keyword{co_return} statement or when suspended\iref{expr.await}.
A \keyword{co_return} statement transfers control to
the caller or resumer of a coroutine\iref{dcl.fct.def.coroutine}.
A coroutine shall not enclose
a \tcode{return} statement\iref{stmt.return}.
\begin{note}
Expand Down