http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46145
Jason Merrill <jason at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED CC| |jason at gcc dot gnu.org Resolution| |INVALID --- Comment #3 from Jason Merrill <jason at gcc dot gnu.org> 2011-05-25 16:51:13 UTC --- C++0x FDIS 12.8/9: If the definition of a class X does not explicitly declare a move constructor, one will be implicitly declared as defaulted if and only if — X does not have a user-declared copy constructor, — X does not have a user-declared copy assignment operator, — X does not have a user-declared move assignment operator, — X does not have a user-declared destructor, and — the move constructor would not be implicitly defined as deleted. An explicitly defaulted copy constructor is user-declared, so a move constructor is not implicitly declared.