Why do Clang and VS2013 accept moving brace-initialized default arguments, but not GCC 4.8 or 4.9?
Update It appears a fix for the problem has been checked in. Interesting question. It definitely seems to be a bug with how GCC handles = {} initialized default arguments, which was a late addition to the standard. The problem can be reproduced with a pretty simple class in place of std::unordered_map<int,int>: #include <utility> struct … Read more