运算符重载能对多个对象重载吗?

比如在Rust中可以写

impl Mul for Vector {
    type Output = Self;
    fn mul(self, rhs: Self) -> Self {
        Self::new(self.x * rhs.x, self.y * rhs.y)
    }
}
impl Mul<f32> for Vector {
    type Output = Self;
    fn mul(self, rhs: f32) -> Self {
        Self::new(self.x * rhs, self.y * rhs)
    }
}

同时支持f32Vector的乘法。

目前暂不支持,因为这样会让方法解析变得比较复杂