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?
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.

