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