2015-01-22 7 views

답변

7

AddAssign (SubAssign, MulAssign ... 등)으로 지원됩니다.

이 기본적인 예입니다

use std::ops::{Add, AddAssign}; 
struct Float2(f64, f64); 

impl AddAssign for Float2 { 
    fn add_assign(&mut self, rhs: Float2) { 
     self.0 += rhs.0; 
     self.1 += rhs.1; 
    } 
} 
5

지금은 할 수 없지만 확실히 원하는 것은 분명합니다. 에 의해 덮여 RFC issue #393.

매우 오래전에 x += yx = x + y으로 구현되었지만 항상 버그가있었습니다. 나는 그 당시 접근 방식에 근본적인 문제가 있다고 생각하지 않지만, 이제는 가치에 의한 논점을 취하는 운영자의 특성으로의 전환이 그 일을 잘 수행하기가 더 힘들다고 생각한다.

+0

이 답변은 당시 정확하지만, 이후 구현되었습니다. 자신의 대답을 추가했습니다. – ideasman42

관련 문제