在这个示例中,我正在尝试制作一些颜色转换实用程序:我想保证实现
ColorSpace
特征的每种类型都可以轻松转换为任何其他此类类型。为了实现这一目标,我要求显式实现函数 from_xyz
和 into_xyz
(因为 XYZ
是比色法中使用的标准颜色空间),以便所有其他转换(from_color<T>
和 into_color<T>
)可以使用 XYZ
作为中间步骤。在某些情况下,这是多余的,需要更具体的实现:在颜色空间和 XYZ
之间进行转换,或者例如,在彼此直接派生的 RGB
和 HSL
之间进行转换。
有没有办法专门为具体类型实现泛型函数?
您正在寻找专业化。
在撰写本文时,它“不稳定”,仅在夜间可用,并且存在多个问题,因此不建议以当前形式使用它。考虑到该问题已存在的时间,它不太可能很快稳定下来。