Document number: N3215 = 10-0205
Date: 2010-11-12
Project: Programming Language C++, Library Working Group
Reply-to: Beman Dawes <bdawes at acm dot org>

Fixing LWG 1322, Explicit CopyConstructible requirements are insufficient

Discussion

Library issue 1322, Explicit CopyConstructible requirements are insufficient, describes problems caused by library defect 822. The LWG in Batavia determined that the preferred fix is to revert 822. That is the effect of the Proposed resolution.

Proposed resolution

In 20.2.1 [utility.arg.requirements] change Table 34: MoveConstructible requirements [moveconstructible]:

expression post-condition
T u(rv) = rv; u is equivalent to the value of rv before the construction
...

In 20.2.1 [utility.arg.requirements] change Table 35: CopyConstructible requirements [copyconstructible]:

expression post-condition
T u(v) = v; the value of v is unchanged and is equivalent to u
...