http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54506
--- Comment #8 from Nikolka <tsoae at mail dot ru> 2012-09-10 06:26:02 UTC --- (In reply to comment #7) > (In reply to comment #3) > > g++ v4.7.2 20120908 (prerelease) compiles the original example successfully, > > but it fails to compile the following code: > > G++ is following the proposed resolution of DR 1402 here; A<int> does not have > a move constructor A<int> does have a move constructor, which is instantiated from A(A const volatile &&) = delete; See 12.8/3: A non-template constructor for class X is a move constructor if its first parameter is of type X&&, const X&&, volatile X&&, or const volatile X&&, and either there are no other parameters or else all other parameters have default arguments