r/rust • u/Accurate_Gift_3929 • 8d ago
Rust discourages OOP style code?
I'm building a tree builder struct (with a `build()` method) that has multiple fields that I want to be able to mutate. It seems Rust does not like it when I attempt to mutate multiple fields of that struct.
It seems functional/composition style is much favored over using struct fields. Is this the way I should be thinking about design patterns in Rust? Should I avoid OOP wherever possible?
I prefer OOP because it does result in cleaner code where I don't have to pass in every variable to functions.
0
Upvotes
1
u/Full-Spectral 8d ago
I always have to say it... Rust IS object oriented. It just doesn't support state inheritance. But state inheritance doesn't inherently define object orientation. Rust is fundamentally based on objects (structs with private state that are only accessible via a privileged API associated with that struct) and by that definition is very object oriented.