this post was submitted on 15 Nov 2024
227 points (93.8% liked)
Programmer Humor
39094 readers
34 users here now
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
founded 6 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Yes, it is that simple. In Rust if you have a structure
Personand you want to allow testing equality between instances, you just add that bit of code before the struct definition as follows:In Rust,
PartialEqandEqare traits, which are similar to interfaces in Java. Manually implementing thePartialEqtrait in this example would be writing code that returns something likea.name == b.name && a.age == b.age. This is pretty simple but with large data structures it can be a lot of boilerplate.There also exist other traits such as
Cloneto allow creating a copy of an instance,Debugfor getting a string representation of an object, andPartialOrdandOrdfor providing an ordering. Each of these traits can be automatically implemented for a struct by adding#[derive(PartialEq, Eq, Clone, Debug, PartialOrd, Ord)]before it.