Rust 仅为特定关联类型扩展trait

Rust 仅为特定关联类型扩展trait,rust,Rust,我希望扩展迭代器特性,但仅针对特定的关联类型类型Item=f64: trait迭代器text:Iterator{ fn最小最大值(多个自)->(f64,f64) 其中Self::Item:f64/如果您只想为迭代器而不是f64定义您的特征,您可以这样表示: trait IteratorExt: Iterator<Item = f64> { fn minmax(&mut self) -> (f64, f64) { let mut min = f64

我希望扩展
迭代器
特性,但仅针对特定的关联类型
类型Item=f64

trait迭代器text:Iterator{
fn最小最大值(多个自)->(f64,f64)

其中Self::Item:f64/如果您只想为
迭代器
而不是
f64
定义您的特征,您可以这样表示:

trait IteratorExt: Iterator<Item = f64> {
    fn minmax(&mut self) -> (f64, f64) {
        let mut min = f64::NAN;
        let mut max = f64::NAN;
        for value in self {
            min = f64::min(min, value);
            max = f64::max(max, value);
        }
        (min, max)
    }
}

就是这样。我不知道指定关联类型的语法。谢谢!
trait IteratorExt: Iterator {
    fn minmax(&mut self) -> (f64, f64)
    where
        Self: Iterator<Item = f64>,
    {
        let mut min = f64::NAN;
        let mut max = f64::NAN;
        for value in self {
            min = f64::min(min, value);
            max = f64::max(max, value);
        }
        (min, max)
    }
}