this post was submitted on 14 May 2025
30 points (96.9% liked)

Rust

6924 readers
47 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

[email protected]

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 7 points 4 days ago (1 children)

As someone whose only other language was very beginner-level Python before learning Rust, the part about not treating the borrow checker as an adversary, but as a companion, mirrors the point at which I began rapidly improving.

I like to say that the Rust compiler rules are like having a senior engineer over your shoulders to help you avoid writing (certain kinds of) bad code.

There are still times when the borrow checker becomes my adversary (like needing to share data in threads), and it is painful, but they become less frequent over time.

[–] [email protected] 5 points 4 days ago* (last edited 4 days ago) (1 children)

Yep. One reason why those situations become less frequent over time is that one learns to avoid such designs. Thought process: "Sharing data across threads is annoying. So I'd rather avoid it. Maybe message passing can solve the same problem as well?"

[–] [email protected] 2 points 4 days ago* (last edited 4 days ago)

I just use Arc::clone() now that I know I can just throw the problematic data types on the heap easily. I'm sure there are "better" ways to do it, but ¯\_(ツ)_/¯