Title
Full-expressions and temporaries bound to references
Status
c++20
Section
6.9 [basic.exec]
Submitter
Andrey Erokhin

Created on 2019-02-07.00:00:00 last changed 48 months ago

Messages

Date: 2019-10-15.00:00:00

Proposed resolution (October, 2019):

Change 6.9 [basic.exec] bullet 5.5 as follows:

A full-expression is

  • ...

  • an invocation of a destructor generated at the end of the lifetime of an object other than a temporary object (6.7.7 [class.temporary]) whose lifetime has not been extended, or

  • ...

Date: 2019-11-15.00:00:00

[Adopted as a DR at the November, 2019 meeting.]

According to 6.9 [basic.exec] paragraph 5,

A full-expression is

  • ...

  • an invocation of a destructor generated at the end of the lifetime of an object other than a temporary object (6.7.7 [class.temporary]), or

  • ...

This definition excludes the destruction of temporaries that are bound to references from being treated as full-expressions. It is not clear whether this omission has observable effects or not. See editorial issue 2664.

History
Date User Action Args
2020-12-15 00:00:00adminsetmessages: + msg6433
2019-02-07 00:00:00admincreate