Skip to content
Free public beta until December 4, 2026: every course is open, no card needed. After that, the first chapter of each course stays free and full access is a one-time $39 ($19 for up to 100 founding members chosen for helpful feedback). Your progress is kept. How the beta works

operator overloading

Making +, ==, or [] work for your own types.

Operators are method calls on std::ops and std::cmp traits (Add, Mul, Neg, Index, PartialEq...), so implementing the trait gives a type the operator.

Examples

  • impl Add for Money { type Output = Money; fn add(self, other: Money) -> Money { ... } } makes a + b work for two Money values.

Read the full section →