Talk:cpp/types/is copy assignable

also requires that the type of an assignment expression is (or, an lvalue of type  if you like). That is, the concept has stricter requirements than what the trait  checks. On the other hand, Walter E. Brown implemented this check explicitly in his implementation of in the talk Modern Template Metaprogramming - A Compendium, Part II. I could not find any defect report related to this issue, nor can I find this check in the spec of in C++11 IS, C++14 IS nor in a recent github draft.

Since this is confusing, it might be worth also looking for discussions if this is intentional, or broken because of backwards-compatibility, or maybe even an oversight in the Standard.

dyp --84.171.65.50 08:58, 8 March 2015 (PDT)


 * I never thought about it but you're right. The trait also doesn't (and can't!) check the CopyAssignable requirement that the argument is unmodifed. I added a note. --Cubbi (talk) 09:34, 8 March 2015 (PDT)