I've wanted to learn c++ on my own time for more low level practice, but rust looks interesting. Are people using rust in the industry yet or is it just a fashionable enthusiast language for now?
Edit: I mean industry in the broadest sense.
Mozilla is the only notable entity I've heard of that has immediate interest in shipping something with it. It just reached 1.0 a few months ago so it's probably not on the radar for a lot of people because it lacks presence and maturity.
There are some early adopters in industry that are using it to good effect and 8 in particular have been working closely with Mozilla to provide valuable feedback. This was back in July. I don't know if the early adopters group has expanded. As for "fashionable", it's very fashionable right now. Strong functional language with closures, lambdas, no inheritance, algebraic data types, nested modules, haskell style typeclasses with associated types, bounded regions, pattern matching, slice syntax, lazy iterators, complete memory safety, local type inference, safe scheme style metaprogramming (works on typed lexical structures, not text), complete thread safety enforced by the compiler, message passing concurrency via channels like go, RAII, iterator based for loops, and pretty soon we're going to be able to pass around stack allocated closures and have a basic form of refinement types. Seems like all the stuff that's in fashion right now.
Neither rust, d, or any other language is going to overtake c++ any time soon. It has 30 years of institutional backing with millions of users. You don't just brush that under the carpet. It doesn't matter if the language is better, it doesn't have tools, it doesn't have debuggers, it doesn't have the same depth of library support, it doesn't have a community of millions of users.
D and "any other language" are not garbage collector free with compiler enforced memory safety and c++ performance. That's what separates Rust from D, from Go, from Java, from C#, and every other language that has ever tried to be the next systems programming language.
It is hard to unseat hulking inertial masses. But if the success of Swift over objective c has taught us anything, then replacing languages which are old and flawed compared to modern standards is met with hasty adoption if the replacement satisfies requirements. It's why Java replaced C++ and C in application development where real-time constraints were not important. So since Rust fixes everything conceivably wrong with c++ and still offers real time guarantees, I predict that half, if not more, of all non-embedded c++ jobs will be converted to Rust in 15 years. Why would Herb Sutter want to sit down and talk with the Rust core team about similarities and differences between the two languages if he didn't see something of value in there?
http://www.reddit.com/r/cpp/comments/3m0d41/writing_good_c14_by_default_herb_sutter/cvhal60
You're right, it's hard to get rid of libraries and tooling. ...So it's a good thing Rust is ABI compatible with C and C++, and C/C++ can call Rust code and vice versa. And furthermore, maybe some things exist just because the language is at fault. Look at valgrind's features page:
http://valgrind.org/info/tools.html
Out of the six main toolsuites, half of them (memcheck, Helgrind, and DRD) are completely unneeded in Rust because of the design of the language.
Object slicing is not possible. Use after free is not possible. Memory access errors like data races and moving references to TLS across thread boundaries is not possible.
The industries that don't adopt this in the next 10 years are just asking to lose money.