- Type inference - alias - foreach - Everything about arrays/slices - Built-in associative arrays that support nearly any type as a key - Reference semantics for classes - All the niceities of ctors compared with C++'s ctors - Backtick strings - Scope guards (And even finally: I head somewhere C++ doesn't even have finally: Is that true?!?) - GC - Name any of D's metaprogramming features
Many of those can seem like simple things, but I'd *hate* to have to get by without them. Heck, most of them I now take for granted. Alias in particular is a much bigger deal than it seems since it's seemingly trivial but can be *incredibly* helpful with templates *and* with importing. Actually, looking at this list, I'm now starting to get a little worried about an upcoming C++ project... No doubt I'll be trying to reinvent a lot of D in it. Probably in ugly hackish ways.