that is also how i feel about it! i haven't had time to progress to a level where i can build "real" stuff with it but the few toy programs i've built were very satisfying. i also love the convention rust has for organizing the tests with the relevant code.
It has that same magical "power" that functional languages have. I can put expressions in places that shouldn't be possible.
Working on a toy language, I threw an expression in curly braces, i.e. for x in {...}, which returned a different iterator depending on a condition. It really helped me cut down on code re-use (which was really good for my dev experience). That "clicked" in an extremely satisfying way.
When learning new languages, I throw asserts all over the place. Learning to unit-test usually requires knowing more of the language than I already know, but asserts provide 90% of that value by forcing the code to crash if my mental-model of the code does not match reality.
musou wrote
that is also how i feel about it! i haven't had time to progress to a level where i can build "real" stuff with it but the few toy programs i've built were very satisfying. i also love the convention rust has for organizing the tests with the relevant code.