Rust में संरचना के संदर्भ के लिए Add ट्रेट कैसे लागू करें?
नमस्ते! मैं Rust सीख रहा हूँ और अपनी संरचना के लिए `+` ऑपरेटर को ओवरलोड करने का प्रयास कर रहा हूँ। मेरे पास `Point` नामक एक संरचना है जिसमें दो फ़ील्ड `x` और `y` हैं। मैं चाहता हूँ कि दो `Point` इंस्टेंस को संदर्भ द्वारा पास करके जोड़ा जा सके, ताकि स्वामित्व स्थानांतरित न हो।
यहाँ मेरा कोड है:
```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 }
}
}
```
यह काम करता है, लेकिन यह `self` और `other` को मान द्वारा उपभोग करता है। मैं चाहता हूँ कि इस तरह लिखा जा सके:
```rust
let a = Point { x: 1, y: 2 };
let b = Point { x: 3, y: 4 };
let c = &a + &b;
```
मैंने इस तरह लिखने का प्रयास किया:
```rust
impl std::ops::Add for &Point {
type Output = Point;