Good:
- fast
- high-level language constructs like iterators
- memory bugs harder to write vs C/C++
- compiler errors are ridiculously helpful
- borrow checker makes some hard things easier (memory management; Inter-thread communication)
Not so good:
- you will not like the borrow checker, even as it saves you from yourself
- executables are larger due to static linking
- language is BIIIG
- compilation is slow (but getting better)
Overall, I like Rust a lot. I think its reputation as a great language is well-deserved. It's not an "easy" language to use, but it prevents so many footguns... It takes me longer to get to a working prototype in Rust. But the first time it compiles successfully... it's probably right.
If I'm working on a project that needs to be fast, I'll reach for Rust over C these days.