this post was submitted on 31 Jan 2025
74 points (98.7% liked)

Rust

6299 readers
175 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
[–] ulterno 0 points 2 days ago (1 children)

Isn't it already optional? Just put unsafe on everything?

[–] KillTheMule 12 points 2 days ago (2 children)

unsafe does not disable the borrow checker. It does however give you abilities to circumvent it, namely by letting you dereference pointers, which are not subject to the borrow checker.

[–] [email protected] 2 points 1 day ago

You can also selectively circumvent it without dipping into unsafe, by wrapping a type in an Rc or Arc ("reference-counting" and "atomic reference-counting"). This will allow you to handle an object largely like you might expect from garbage-collected languages. (Reference-counting is not able to free circular dependencies. If you need those, then use WeakRef.)

Having said that, I would certainly not recommend constantly doing that for a beginner. It needs some time to get used to the way Rust works, especially if you're already experienced in other languages, but when it clicks, then you stop breaking your brain.

[–] ulterno 7 points 2 days ago

OIC. I really need to start learning this language soon, or I won't be able to understand future memes and rants.