I'm glad that systems languages are getting a little more love these days. However, I'm a little saddened to see that no one seems to want to write a language that can also be used at the write-a-kernel level. Both Rust and GoLang have expressly made this a non-goal[1][2].
I think you could write a kernel in Rust (though you'd need to add unsafe pointers, direct calls, and possibly other stuff to the language), it's just not a goal of the project. There's no reason why I wouldn't accept patches to the language that would help in that effort as long as they didn't wildly conflict with the main goals of the project.
I consider ATS [1] a systems language and it can be used at the write-a-kernel level. It can be used without a garbage collector using linear types to ensure memory is deallocated.
One of the contributed examples is some kernel development [2].
Y'know, it's funny. For no good reason I've failed to give D any consideration. I guess I've had it in my head that it wasn't as small or speedy as C/C++, but I'm pretty sure that's unfounded prejudice talking. I think I'll give it a try. Thanks!
The Habit language, being developed at Portland State (by my colleagues -- I'm a grad student there) falls into the category you're looking for, though the implementation is still under development:
Maybe Clay (http://tachyon.in/clay/) would interest you then? It does not explicitly says that it can be used for kernel development, but from the feature set it seems like it could.
[1] https://github.com/graydon/rust/wiki/Project-FAQ
[2] http://groups.google.com/group/golang-dev/browse_thread/thre...