313
submitted 4 days ago by [email protected] to c/[email protected]
you are viewing a single comment's thread
view the rest of the comments
[-] [email protected] 17 points 4 days ago

This is my experience every time I return to learning rust. I’m guessing that if I used it more often than once a quarter with hobby projects I’d stop falling into the same traps.

[-] [email protected] 7 points 3 days ago

Yeah, these become a lot less relevant with routine.

  • Avoiding the main-thread panicking is mostly just a matter of not using .unwrap() and .expect().

  • String vs. &str can mostly be solved by generally using owned datatypes (String) for storing in structs and using references (&str) for passing into function parameters. It does still happen that you forget the & at times, but that's then trivial to solve (by just adding the &).

  • "temporary value dropped while borrowed" can generally be avoided by not passing references outside of your scope/function. You want to pass the owned value outside. Clone, if you have to.

  • "missing lifetime specifier" is also largely solved by not storing references in structs.

[-] [email protected] 5 points 3 days ago

The last two points are the kind of design advice I need to see. I’m probably so used to the C/C++ concept of passing by reference to prevent copies of complex data being generated that I forget how Rust’s definition of a reference is different.

load more comments (3 replies)
this post was submitted on 05 Jul 2025
313 points (99.1% liked)

Programmer Humor

24874 readers
862 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 2 years ago
MODERATORS