Created on 2025-07-07.00:00:00 last changed 1 month ago
Proposed resolution (approved by CWG 2025-11-04):
Change in 6.8.7 [class.temporary] paragraph 7 and paragraph 8 as follows:
The fourth context is when a temporary object is created in the for-range-initializer of
eithera range-based for statementor an enumerating expansion statement (8.7 [stmt.expand]). If such a temporary object would otherwise be destroyed at the end of the for-range-initializer full-expression, the object persists for the lifetime of the reference initialized by the for-range-initializer.The fifth context is when a temporary object is created in an element E of the expansion-init-list of an enumerating expansion statement (8.7 [stmt.expand]). If such a temporary object would otherwise be destroyed at the end of the full-expression of E, the object persists for the lifetime of the for-range-declaration initialized from E.
The
fifthsixth context is when a temporary object is created in the expansion-initializer ofan iterating ora destructuring expansion statement. If such a temporary object would otherwise be destroyed at the end of that expansion-initializer, the object persists for the lifetime of the reference initialized by the expansion-initializer, if any.The
sixthseventh context is when ...
(From submission #724.)
Subclause 6.8.7 [class.temporary] paragraph 7 and paragraph 8 specify:
The fourth context is when a temporary object is created in the for-range-initializer of either a range-based for statement or an enumerating expansion statement (8.7 [stmt.expand]). If such a temporary object would otherwise be destroyed at the end of the for-range-initializer full-expression, the object persists for the lifetime of the reference initialized by the for-range-initializer.
The fifth context is when a temporary object is created in the expansion-initializer of an iterating or destructuring expansion statement. If such a temporary object would otherwise be destroyed at the end of that expansion-initializer , the object persists for the lifetime of the reference initialized by the expansion-initializer, if any.
There are a number of problems with this phrasing:
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2025-11-06 23:04:52 | admin | set | status: tentatively ready -> ready |
| 2025-11-05 12:07:23 | admin | set | messages: + msg8211 |
| 2025-11-05 12:07:23 | admin | set | status: open -> tentatively ready |
| 2025-07-07 00:00:00 | admin | create | |