I will over the coming week: I have quite a bit of Nov12 CTP only #ifdef code, mainly due to that fun bug where a 'catch(...)' in a template made MSVC try to expand variadic args. I assume they'll have fixed that.
Yes, that was fixed on Nov 28, 2012 (DevDiv#510827 internally).
Outstanding. I'm also very mean to your std::current_exception() implementation by doing evil such as rethrowing and catching exception_ptr's caught in other threads during exception catch handling in several hundred simultaneous threads. GCC and clang get this right, whereas Nov 2012 CTP has some race conditions in there, and it can and does lose state occasionally if too many threads are doing this simultaneously. I didn't report it yet because (a) Nov 2012 CTP isn't production and (b) I'm hoping to persuade Vicente to add some new member functions to boost::shared_future<> to let me retrieve the exception_ptr instead of having to always do a try { future.get(); } catch(...) { push_back(make_into_boost(std::current_exception()); }. Which obviously takes much of the load off the exception handling runtime.
Alias templates and defaulted/deleted functions have been checked into the compiler. I believe the listed C99 features have all been checked in, but I'm not absolutely sure (and presumably they don't matter to Boost). I don't know the current state of NSDMIs as I don't have to take a dependency on them.
I just checked in the STL changes for alias templates; deleted functions are up next.
Very useful to know, thanks. I'm sure like most people the killer feature for me of VS2013 is variadic templates, though the newer C++11 complete Dinkumware is also a great help. Everything else I can live without for now. You may have noticed a heated discussion on this very mailing list regarding the topic of Boost's long term support for compilers such as Visual Studio only recently. Niall --- Opinions expressed here are my own and do not necessarily represent those of BlackBerry Inc.