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

2024-04-05


942. Is this an entity?

Section: 6.1  [basic.pre]     Status: CD2     Submitter: Maurer     Date: 14 July, 2009

[Voted into WP at March, 2010 meeting.]

At least in the new wording for 7.5.5 [expr.prim.lambda] paragraph 10 as found in paper N2927, this is explicitly assumed to be an entity. It should be investigated whether this should be added to the list of entities found in 6.1 [basic.pre] paragraph 3.

Proposed resolution (October, 2009):

  1. Change 6.1 [basic.pre] paragraph 3 as follows:

  2. An entity is a value, object, variable, reference, function, enumerator, type, class member, template, template specialization, namespace, or parameter pack, or this.
  3. Change 6.3 [basic.def.odr] paragraph 2 as follows:

  4. ...is immediately applied. this is used if it appears as a potentially-evaluated expression (including as the result of the implicit transformation in the body of a non-static member function (11.4.3 [class.mfct.non.static])). A virtual member function...
  5. Delete 7.5.5 [expr.prim.lambda] paragraph 7:

  6. For the purpose of describing the behavior of lambda-expressions below, this is considered to be “used” if replacing this by an invented variable v with automatic storage duration and the same type as this would result in v being used (6.3 [basic.def.odr]).