Wednesday, November 20, 2013

FeedaMail: Comments for Sutter̢۪s Mill

Comments for Sutter's Mill
feedamail.com Comments for Sutter's Mill

Comment on Visual C++ Compiler November 2013 CTP by Source-based distros are awful (tipsy blog post)

[…] up pretty good. The current release (CTP) is going to cover roughly 70% of C++11/14 (source: Visual C++ Compiler November 2013 CTP | Sutter's Mill). C++ is accelerating. There is no doubt about […]

Read More »

Comment on Visual C++ Compiler November 2013 CTP by Herb Sutter

@Christian: In the CTP, =default should now work for move special member functions, and generate what the compiler would have generated implicitly had the implicit generation not been suppressed (for example by declaring a copy operation or a destructor). In VS2013 RTM we didn’t yet allow =default for move ctor/op= because that compiler didn’t have the compiler-generated ones yet, so there was nothing for =default to do — now that the CTP has the compiler-generated ones, this also let us finish =default for move ctor/op=.

Read More »

Comment on Visual C++ Compiler November 2013 CTP by Christian

This demonstrated the issue. Works with e.g. GCC 4.8.0, but not CTP.

  #include <vector>    int main()  {     class Y     {     public:        Y() {};          Y(const Y&) {};        Y& operator=(const Y&)         {           return *this;        };     };       class X     {     public:        Y y;          X() {};          // Not copyable        X(const X&) = delete;        X& operator=(const X&) = delete;    #if 1        // Doesn't compile        X(X&&) = default;        X& operator=(X&& rhs) = default;  #else        // Compiles        X(X&& rhs)        {           y = std::move(rhs.y);        };        X& operator=(X&& rhs)        {           y = std::move(rhs.y);           return *this;        };