Avatar ·

Comment implémenter le trait Add pour une référence à une structure en Rust ?

Bonjour ! J'apprends Rust et j'essaie de surcharger l'opérateur `+` pour ma structure. J'ai une structure `Point` avec deux champs `x` et `y`. Je veux pouvoir additionner deux instances de `Point` en les passant par référence, pour ne pas déplacer la propriété. Voici mon code : ```rust struct Point { x: i32, y: i32, } impl std::ops::Add for Point { type Output = Point; fn add(self, other: Point) -> Point { Point { x: self.x + other.x, y: self.y + other.y } } } ``` Cela fonctionne, mais cela consomme `self` et `other` par valeur. Je veux pouvoir écrire : ```rust let a = Point { x: 1, y: 2 }; let b = Point { x: 3, y: 4 }; let c = &a + &b; ``` J'ai essayé d'écrire ceci : ```rust impl std::ops::Add for &Point { type Output = Point;