Just try finding e.g. an MQTT or WebSocket or etc library that doesn't drag the whole mammoth tokio ecosystem (which is really geared for Web Scale! projects) in with it.
Rust is becoming the language that tokio ate, and Cargo/Crates.io the new NPM.
That is, Rust is the systems language that a wave of non-systems developers insist on using, leaving behind a trail of non-systems-appropriate crates and projects.
Parent commenter's comment was crap by HN's commenting standards... but the underlying point about trendiness I think is in fact accurate.
(That said, your example might be a bit exaggerated as I found mqtt libraries that don't require tokio).
For myself that's looking more and more like:
Ditch crates.io (and maybe even Cargo), carefully curate and vendor all dependencies.
Probably avoid async, but definitely avoid tokio.
Don't get excessively clever. (Here I think Rust does a better job of C++ of having good "community standards" already)
(How is tokio fundamentally different than boost.asio and beast in this regard?)
> That is, Rust is the systems language that a wave of non-systems developers insist on using, leaving behind a trail of non-systems-appropriate crates and projects.
I have hard time understanding how this "trail" of stuff (evoking imagery of pollution) that no one is forced to depend on nor is promoted in any special way in the core library or language is any meaningful impediment to developing and distributing libraries more appropriate to the embedded domain, but perhaps one can explain how.
Look at C++, which can both dick with move semantics but also offer multiple inheritance. Even better, look at C#, which has pointer fiddling but also offers the best reflection of any language today.
You're right that Rust is only really good for kernel development but it didn't have to be that way.
I used to read something similar all the time around 20 years ago: I don't have anything against Jesus. It's his fan club that's a pain in the ass.