memory safe
borrow checker eliminates use-after-free and data races at compile time
zero cost abstractions
generics, traits, and async with no runtime overhead
expressive types
Result[T, E], Option[T], and custom ? propagation via traits
aot + jit
compile ahead-of-time or run with jit for fast iteration