Rust 关联项

“关联项”(associated item)指与多种类型的有关的一组规则。它是 trait 泛型的扩展,允许在 trait 内部定义新的项。

一个这样的项就叫做一个关联类型。当 trait 对于实现了它的容器类型是泛型的,关联 项就提供了简单的使用方法。

译注:「关联项」这个说法实际上只在 RFC 里出现了,官方的《The Rust Programming Language》第一版和第二版都只有「关联类型」的说法。如果觉得这里的说法很别扭的话 不要理会就是了。TRPL 对关联类型的定义是:「一种将类型占位符与 trait 联系起来的 做法,这样 trait 中的方法签名中就可以使用这些占位符类型。trait 的实现会指定在 该实现中那些占位符对应什么具体类型。」等看完这一节再回头看这个定义就很明白了。

trait 如果对实现了它的容器类型是泛型的,则须遵守类型规范要求——trait 的使用者必须指出 trait 的全部泛型类型。在下面例子中,Contains trait 允许使用泛型类型 A 或 B。然后我们为Cont ...