
C++17 Features and STL Fixes in VS 2017 15.3 - ibobev
https://blogs.msdn.microsoft.com/vcblog/2017/08/11/c17-features-and-stl-fixes-in-vs-2017-15-3/
======
StephanTLavavej
I've spent the last few months working on this release (alongside Billy,
Casey, and Steve). When I started maintaining the STL in 2007, we released new
features every couple of years - releasing every few months is much nicer
(although I occasionally miss being able to break bincompat).

As I alluded to in this post, we're testing our STL with Clang (currently
Clang/LLVM 4.0, soon to be 5.0 when I figure out how to get it to find my
link.exe), and with libc++'s test suite. This has improved both our STL and
Clang/libc++ upstream, and I'm grateful to their devs for working with us.

------
danbolt
I'm glad that std::future invalidates on get() now. That really caught me off
guard when I first used the thing.

------
jrs95
I think this is the first time I've ever seen C++ hit the top of HN. Either
nothing interesting has happened in the last 48 hours, or there's more
interest in it here than I would have thought.

I'm also really hoping someone hasn't commented about Rust since I've been
writing this...

~~~
tjoff
C++ topics are quite frequent on the front page. Maybe not in comparison to
rust but C++ is in active development with a lot of useful additions.

------
jwilk
> The meow_n() algorithms

What's that?

~~~
detaro
For some reason, c++ folks seem to sometimes use "meow" as a placeholder. I
thus guess that it means "all the _something_ _n functions in <algorithm>",
like
[http://www.cplusplus.com/reference/algorithm/fill_n/](http://www.cplusplus.com/reference/algorithm/fill_n/)
?

~~~
int_19h
STL (Stephan T. Lavavej, that is, not the library) just happens to like
kittens.

~~~
StephanTLavavej
Yes. Why say "unordered_map, unordered_multimap, unordered_set,
unordered_multiset" or the boring "unordered_foo" when I can say
"unordered_meow", and so forth?

~~~
jwilk
What do you use when you need more than one metasyntactic variable?

~~~
StephanTLavavej
Purr! Hiss!

------
snovv_crash
Hopefully this fixes Ceres Solver as well, there has been a crash in VS2017
which is a blocker for us to upgrade.

~~~
StephanTLavavej
Did you report the problem? It's too late for us to do anything about it in
15.3, but if something's still broken we can investigate it for 15.x.

We test our development builds against a large and growing number of open-
source projects, but I don't think Ceres Solver is in our test matrix yet (I
could be wrong).

~~~
snovv_crash
I found a report someone else had already made. And apparently it has been
fixed with this release! Thanks!

~~~
StephanTLavavej
Glad to hear it!

------
rhabarba
Still, no C11. Subset of C++ my ass.

~~~
StephanTLavavej
As the post mentioned, we support almost all of the parts of the C11 Standard
Library that are required by C++17. We also implemented a number of C99 Core
Language features in previous releases. It is true that we don't support the
entirety of the C11 Core Language, though. What missing features are you
particularly interested in?

~~~
rhabarba
Particularly, C11 threads. That's about everything for, at least, me.

I know, windows.h has something similar, but I'd prefer to have standard
features available.

~~~
rhabarba
(Chances are that those are about to be added anyway which would make me look
dumb. But last time I checked, the VS team said they wouldn't do that.)

