Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

问题

对于容器类型是泛型的 trait,有类型规范要求 —— trait 的使用者必须指定所有的泛型类型。

在下面的例子中,Contains trait 允许使用泛型类型 AB。然后为 Container 类型实现该 trait,将 AB 指定为 i32,以便与 fn difference() 一起使用。

由于 Contains 是泛型的,我们不得不为 fn difference() 显式声明所有泛型类型。实际上,我们希望有一种方法来表达 AB 是由输入 C 决定的。正如你将在下一节中看到的,关联类型恰好提供了这种能力。

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

另请参阅:

structtrait