I'm learning it now. I'm not a big fan. For context I'm an engineer (civil, not software), and I use Python regularly (scrapers, data visualization, task automation), have no professional or academic background in software, and I have dabbled with C, Haskell, and JavaScript.
Syntactically Rust appears to be the mulatto offspring of JavaScript and C with most of its parents' warts. I know the argument "hurr, hurr, real devs don't care about syntax, and I'm a real dev who works at a help desk/ is in college." But there are already much better and more readable syntax paradigms in use by popular languages right now. I've never written one line of Ruby, but I can look at its source and have an immediate understanding of what's going on. Contrast that with curly braces hell where they have multiple meanings depending on context and semicolons because why should a compiler ever interpret a newline character in a way that is understandable to humans?
Obviously this was a "guys, we need to make it like JS to not scare the web devs" kind of decision, but that's a terrible reason. It's propagation of poor design decisions because we're used to them.
I would characterize the language rules as autistic and obnoxious. Keeping up with ownership and lifetimes is a pretty unusual Paradigm. I understand why it was done, now that I know more, but it still is a irksome way to do things. however, I can't think of a better way to handle problems like memory safety. The current Mantra of C coders which is to "just run valgrind," or "just gitgud, XD," is not in any way an actual solution.
There are a few places where rust does it right, though. The documentation is pretty good. The meta-programming tools are really excellent. At this time there is not really an excuse to not have a tool chain which automate processes like packaging libraries for distribution or having a convenient way to import new libraries, like crates. There are other languages that have this, but often it relies on some kind of third party platform. Rust did it right by making a stable, usable default to get everyone on the same page.
I am sticking with rust right now because I want the ability to do embedded software or tackle systems programming tasks if they come up. It would be nice to expand the skillset I've got outside of just scripting, and, frankly, I'm too late in my career to spend 10 years getting C experience to just *start* writing useful code. From where I stand, I do not see a better alternative to rust. I really wish that there were one. Crystal is dead in the water without a genuine threading ability. I don't see that happening anytime soon. Also, Nim is Okay, but ultimately it is a C transpiler. Somebody correct me if I'm wrong on that one. I don't see how you escape the really fundamental problems with writing C.
Show me a better embedded-capable language that doesn't require years/decades of practice and I'll jump the Rust ship.
The JS influence is pretty heavy and a I think a very bad thing.