-33
Rust trojan horse
(thelemmy.club)
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Tbh the borrow checker isn't a problem for 75% of cases. If you actually need the performance/memory optimization then yes you will have to deal with it... Otherwise just
.clone()And if you find the borrow checker annoying in async rust, that's mostly a tokio issue. Look into smol-rs as it offers alternatives
If you want real cons...
This is great until you want to use a library which is tokio exclusive, which is most of them.
Well you just need that crate :3
https://crates.io/crates/async-compat
Huh, that pretty cool actually. I need to play around and see if this works with gtk-rs, channels get fairly annoying if you need to use them a lot.
🫣
Viral async?
When people say "async is viral" in Rust, they mean that once you make one function
async, that change tends to ripple through the rest of your code. Any function that calls it usually has to becomeasyncas well so it canawaitthe result. In turn, the callers of those functions often need to becomeasynctoo.This propagation can continue all the way up the call stack until you reach your application's entry point. The main exception is when you introduce an explicit synchronous-to-asynchronous boundary, such as by using
block_on, which drives the future to completion without requiring the caller itself to beasync.Yeah but it's not really a problem with rust but how the language pattern is made. It's the same in JavaScript/typescript, and Python IIRC
It is Rust implementing the pattern. So... :P
A forbidden compiler