我有以下 Trait 实现,并希望unit
通用 over Array1<T>
,但未能找到正确的 Trait 边界(尤其是这对我来说似乎微不足道,所有 T 需要支持的基本上是输出 T 以使函数工作的基本算术) .
trait Unit {
fn unit(&self) -> Array1<f32>;
}
impl Unit for Array1<f32>
{
fn unit(&self) -> Array1<f32> {
self / (self * self).sum().sqrt()
}
}
编译器建议添加std::ops::Mul<Output = &ArrayBase<OwnedRepr<T>, Dim<[usize; 1]>>>
,但这样做会一遍又一遍地给出相同的错误。