I'm using D for a bit of a mini-engine I'm writing, and it's pretty awesome (although interfacing with C libraries and char*'s can be a bit of a pain). Coming from a studio that wrote its (>10MLOC) engine in old C, it feels refreshing to be able to do code generation (like registering runtime debug commands) without having to write an entire parser, and being able to write reasonably sophisticated interfaces without resorting to #DEFINE LOG_SOMETHING_PAIRS_BEGIN ((x)##(y))##((parens(#x) LOG_SOMETHING_PAIRS {
That was somewhat facetious of course, but C macros can really get crazy pretty quickly.
C++(11+) is pretty nice as well, though a little less elegant and the template barf can be a turn off.
Rust's memory safety stuff is amazing, but with what little work I did in it, made me extremely unproductive. It might just be one of those "you have to get used to it" things, I ended up spending like 90% of my time trying to massage the memory model to get the right references mutable.
If you want cool features and don't care about performance, I'd also recommend python. D is basically compile-time python, but not quite as expressive.