Talk:cpp/types/is move constructible

"Checks whether a type is MoveConstructible, i.e. has an accessible explicit or implicit move constructor."

That's not correct. is_move_constructible checks if the type is constructible from an xvalue (rvalue). Consider:

struct foo { foo(foo const&) {} // no implicitly declared move ctor };   static_assert(is_move_constructible {}, "foo is not move-constructible");

See the definition of is_move_constructible (in the Standard), referring to is_constructible, which in turn is defined in terms of well-formedness of something like T temp( declval )

--91.14.112.161 08:31, 28 December 2013 (PST)
 * Indeed, ths page is self-contradicting even (it refers to which is satisfied by ). Thanks for bringing it over here and not just mulling over at StackOverflow :) --Cubbi (talk) 11:07, 28 December 2013 (PST)

The example at the end of the page indicates that NoMove isn't movable, but the output contradicts it. 216.23.206.154 05:37, 29 April 2015 (PDT) Chris Chiasson
 * It's not a contradiction: move constructor isn't necessary to be move-constructible. I'll add an explanatory comment. --Cubbi (talk) 06:32, 29 April 2015 (PDT)