Created on 2010-08-25.00:00:00 last changed 183 months ago
Proposed resolution:
Resolved as NAD Editorial by paper n3143.
[ 2010-10-24 Daniel adds: ]
Accepting n3143 would solve this issue.
Addresses US-90
In n3090, at variance with previous iterations of the idea discussed in papers and incorporated in WDs, std::forward is constrained via std::is_convertible, thus is not robust wrt access control. This causes problems in normal uses as implementation detail of member functions. For example, the following snippet leads to a compile time failure, whereas that was not the case for an implementation along the lines of n2835 (using enable_ifs instead of concepts for the constraining, of course)
#include <utility>
struct Base { Base(Base&&); };
struct Derived
: private Base
{
Derived(Derived&& d)
: Base(std::forward<Base>(d)) { }
};
In other terms, LWG 1054 can be resolved in a better way, the present status is not acceptable.
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2010-11-18 14:01:09 | admin | set | status: nad editorial -> resolved |
| 2010-11-09 13:07:03 | admin | set | status: open -> nad editorial |
| 2010-10-25 01:00:51 | admin | set | messages: + msg5111 |
| 2010-10-24 23:23:18 | admin | set | messages: + msg5086 |
| 2010-08-25 00:00:00 | admin | create | |