*This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21
Core Issues List revision 114b.
See http://www.open-std.org/jtc1/sc22/wg21/ for the official
list.*

2024-05-06

#### 2754.
Using *this in explicit object member functions that are coroutines

**Section: **9.5.4 [dcl.fct.def.coroutine]
**Status: **DRWP
**Submitter: **Christof Meerwald
**Date: **2023-06-23

[Accepted as a DR at the November, 2023 meeting.]

Subclause 9.5.4 [dcl.fct.def.coroutine] paragraph 4 specifies:

In the following, pi is an lvalue of type Pi , where p1 denotes the
object parameter and pi+1 denotes the ith non-object function
parameter for a non-static member function, and pi denotes the ith
function parameter otherwise. For a non-static member function, q1 is
an lvalue that denotes `*this`; any other qi is an lvalue that denotes
the parameter copy corresponding to pi , as described below.

An explicit object member function is a non-static member function,
but there is no `this`.

**Proposed resolution (approved by CWG 2023-07-14):**

Change in 9.5.4 [dcl.fct.def.coroutine] paragraph 4 as follows:

In the following, pi is an lvalue of type Pi , where p1 denotes the
object parameter and pi+1 denotes the ith non-object function
parameter for ~~a non-static~~ an implicit object
member function, and pi denotes the ith function parameter
otherwise. For ~~a non-static~~ an implicit object
member function, q1 is an lvalue that denotes `*this`; any
other qi is an lvalue that denotes the parameter copy corresponding to
pi, as described below.