实现多个特征的泛型类型

时间:2014-10-22 20:42:32

标签: generics rust

这是我的代码:

struct Node<T: PartialEq & PartialOrd>
{
    left: Box<Option<Node<T>>>,
    right: Box<Option<Node<T>>>,
    value: Option<T>,
}

我想强制T泛型类型实现PartialEq和PartialOrd特征。我找不到合成器这样做(&amp; char不是我要找的那个)。谢谢你的帮助。

1 个答案:

答案 0 :(得分:5)

语法为+

struct Node<T: PartialEq + PartialOrd> {
    left: Option<Box<Node<T>>>,
    right: Option<Box<Node<T>>>,
    value: Option<T>,
}

我还建议将Box<Option<U>>更改为Option<Box<U>>。这可以更有效地表示(None不需要分配,实际上表示为空指针)。