Just because the state of async I/O in Rust is not messy enough > “Romio is a fork of another Rust project called Tokio”
Conversation
Replying to
Rust started out with native M:N threading but it was counter to the goals of being a viable systems language. It needed 1:1 threading to able to compete on performance with C, interact well with other languages, etc. If it didn't make these choices, what would be the use case?
1
Rust is trying to be something much different from Go. Despite offering more fancy high-level language features, it's a lower-level language. It dropped features like M:N threading and garbage collection because they compromised viability in the main niche it was aiming to fill.
1
If you're writing software where garbage collection, heavyweight runtime features and somewhat lower performance is acceptable, I don't think it shows a problem with Rust if other languages are more suitable. Go makes huge sacrifices for the threading model. It's built around it.

