Agustín K-ballo Bergé wrote:
This is not so funny once you accept that `TriviallyCopyable` does not imply `Copyable`. The apparent contradiction that `noncopyable` is `TriviallyCopyable` is not such, according to the language rules.
The fact that a class can be trivially copyable but not copyable is precisely what's funny. If you don't 'accept' that, there's nothing left to laugh at. And, while I can grudgingly accept the argument that the class deriving from noncopyable needs to decide whether to be trivially constructible or not, in this case, it is not that class that makes the decision. All classes deriving from noncopyable weren't trivially copyable with the old implementation and are now trivially copyable.
This is off-topic anyway.
It isn't. We're discussing whether noncopyable is or should be trivially copyable, and the decision on that defect report determines whether the current implementation is. Incidentally, the compilers I tried give 0 for is_trivial and is_trivially_copyable. They don't seem enlightened.
I disagree. The new implementation does not interfere with things other than copyability.
"Does not interfere" is not the same as "is better than".