> In addition to being memory safe without a GC, the compiler also confirms that your code is threadsafe.
No, not at all. Rust verifies that your code has no data-races. That is an absolutely tiny subset of all race conditions, that are simply not verifiable statically.
Data races, in my experience, are not a particularly small subset of practical race conditions, particularly in Rust which tends to shy away from unnecessary mutable aliasing. YMMV of course.
I absolutely love what rust does, and in practice in “ordinary programs” data races probably come up more often than other kinds of race conditions, I just wanted to express that one should still very much pay attention to concurrent code.