为什么我不能只&self在Add特征中使用:
pub trait Add<RHS = Self> {
type Output;
fn add(self, rhs: RHS) -> Self::Output;
}
这样我就不必担心使用+运算符后结构会移动。这对我来说通常不是问题,因为我使用#[derive(Debug, Copy, Clone)]但我仍然想知道为什么。
为什么我不能只&self在Add特征中使用:
pub trait Add<RHS = Self> {
type Output;
fn add(self, rhs: RHS) -> Self::Output;
}
这样我就不必担心使用+运算符后结构会移动。这对我来说通常不是问题,因为我使用#[derive(Debug, Copy, Clone)]但我仍然想知道为什么。