Cloneable类型和可复制类型的特征

时间:2015-10-23 22:43:28

标签: generics rust traits

我一直在编写一个相当简单的光栅图像特征系统,但我也想扩展它以用于逗号分隔值,并且允许两个像素的特征似乎更自然(这将具有{ {1}}特质)和Copy(不是)。

然而,两者的重载都会导致冲突。那么如何编写一个同时接受String种类型和Copy能力类型的特征呢?

目前工作定义类似于

Clone

这适用于基本上是整数的像素。

1 个答案:

答案 0 :(得分:4)

CopyClone的子商品(即所有Copy类型也是Clone),因此您可以拥有一个impl的约束Clone Copy它也会接受所有impl<T: Grid2d, V: Clone> Drawable for Line2d { fn stroke(&self, out: &mut T); } 类型。

.clone()

您必须明确调用Copy来获取值的副本,但对于.clone()类型,此.state('tab.statuses', { url: "/statuses", views: { 'tab-statuses': { templateUrl: "templates/statuses.html", controller: "StatusesController" } } }) .state('tab.status', { url: "/statuses/:statusid", views: { 'tab-statuses': { templateUrl: "templates/status.html", controller: 'StatusController' } } }) 调用应该非常便宜(在发布版本中,它是可能被内联)。