HashMap
的文档中提到的,密钥类型 K
需要实现 Hash
、PartialEq
和 Eq
,这是有意义的。
但是,我预计这些特征边界实际上也会出现在文档中的某个位置,位于
struct
定义本身旁边,或者作为 impl
的特征边界等。但浏览一下来源,唯一出现的方程式是: PartialEq
我可以看到是这个,它不是特征界限,我可以在整个源代码中发现这些特征界限。
纯粹出于好奇:这些特质界限实际上从何而来?
Eq
和 Hash
几乎都在 on 方法上,并且 PartialEq
是 Eq
的超特征,因此不需要显式指定。