this post was submitted on 02 Jul 2026
-38 points (36.0% liked)

Programmer Humor

33132 readers
35 users here now

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.

Rules

founded 3 years ago
MODERATORS
 

BTW I think some anti-Rust people are more annoying than the worst Rust evangelists - seen some of them calling people not using Rust as "murderers", because "memory leakage can kill at the right time" - but that's due to them being evangelists to right-wing politics.

you are viewing a single comment's thread
view the rest of the comments
[–] RustyNova@lemmy.world 24 points 2 months ago (15 children)

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

  • Compile times
  • easy build time arbitrary code execution
  • trait bounds spaghetti
[–] cjk@discuss.tchncs.de 7 points 2 months ago (7 children)
  • viral async
  • viral lifetime annotations

🫣

[–] RustyNova@lemmy.world 2 points 2 months ago (6 children)
[–] cjk@discuss.tchncs.de 7 points 2 months ago (1 children)

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 become async as well so it can await the result. In turn, the callers of those functions often need to become async too.

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 be async.

[–] RustyNova@lemmy.world 5 points 2 months ago (1 children)

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

[–] cjk@discuss.tchncs.de 2 points 2 months ago (1 children)

It is Rust implementing the pattern. So... :P

[–] pupbiru@aussie.zone 1 points 2 months ago

along with most modern languages… it’s the way we deal with async when you don’t want callback hell. it’s just a complex problem domain

like… what… JITs are complex so that’s a problem for V8 specifically?

load more comments (4 replies)
load more comments (4 replies)
load more comments (11 replies)