Since my early programming days, I played with lots of languages.

Some I almost immediately dropped (like C++, Scala, or Ruby), some I spent more time with (like C#, Go, Java, or Clojure).

Apart from a few "new" languages or concepts (new in the sense of "new to me"), most seemed redundant, just another tool for the job.

But the more I play with Rust, the more I go back to it, as I'm re-discovering the fun I felt when I started writing my first few lines of code.

I needed a lot of time to figure out interfaces and their implications (especially with typings), I still struggle a lot with lifetimes, and I still need to write a first algorithm version using match before being able to rewrite it using the map / or_else /etc method set, but those little challenges aren't as frustrating, as "road-blocking", as I may have felt with some other languages and concepts.

They feel more like a challenge, where I need to do some kind of obscure arcane transformations to interconnect every possible branch of my type tree to obtain a result of the same type at the end.

I also like this "barebones" feel I felt and loved with C (although the compiler helps me in lots of way I could only dream of having in C), the feel of this optimization challenge.

I'm probably not going to use Rust before some time at work, but for small personal projects, this language is definitely growing to be my to-go solution.