this post was submitted on 28 Mar 2024
242 points (94.2% liked)

Rust

6005 readers
5 users here now

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

Wormhole

!performance@programming.dev

Credits

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

founded 1 year ago
MODERATORS
 

Slide with text: “Rust teams at Google are as productive as ones using Go, and more than twice as productive as teams using C++.”

In small print it says the data is collected over 2022 and 2023.

you are viewing a single comment's thread
view the rest of the comments
[–] 2xsaiko@discuss.tchncs.de 13 points 7 months ago* (last edited 7 months ago) (2 children)

instead of messing with lifetimes, borrow checker and other stuff I actually don’t care about at all

There's nothing wrong with putting Rc<_> or Rc<RefCell<_>> around data if you don't want to fight the borrow checker or think about lifetimes even if you know it can be written without.

[–] asdfasdfasdf@lemmy.world 4 points 7 months ago

Or even just clone. Depending on use case the performance cost would be negligible.

[–] lightnegative@lemmy.world 4 points 7 months ago (1 children)

There's nothing wrong with putting Rc<> or Rc<RefCell<>> around data

It's mainly the visual pollution that bothers me. Wrapping everything in the reference counting smart pointers just because you can't be bothered dealing with the borrow checker seems like an antipattern

[–] nous@programming.dev 3 points 7 months ago

I don't know why so many recommend Rc or Arc as a catchall. 90% of the time if you want to avoid the borrow checker then a clone or copy is good enough.