Except that many crates only provide an async interface. I actually use async for many things, but the whole colored functions thing is really annoying.
Re:Lisp implemented in Rust macros
by chickdilla on Saturday September 14, 2024 @11:51AM
(#41540604)
One trick to get out of this is to wrap any function with an asynchronous interface with pollster::block_on which turns the call back into exactly how it would have run if it had been synchronous (which leads to no color leaking).
Yes, easy enough but annoying. Going the other direction (async -> sync) is a bit more problematic though. Now you've got to wrap things in spawn_blocking(), which isn't nearly as benign.
If you want a language guided by the principle of simplicity Rust was never that and you have plenty of options elsewhere.