创建行为像数字的自定义类型的最简单方法是什么?
我想要类型检查以防止在我的程序中混合不同的单元,但我仍然希望能够轻松地对类型执行计算而无需来回转换(类似于自定义Centimeters
和Inches
类型的情况)。
如果我创建:
struct Centimeters(f64);
然后我必须手动实现Add
,Mul
和Ord
许多其他特征。这是很多样板,并且复制和粘贴此代码会产生破坏程序中基本算术的风险:)
不幸的是#[derive(Add, Sub, …)]
,似乎不支持。是否有另一个可以达到类似效果的标准特征/类型/板条箱?