【发布时间】:2016-04-22 16:39:02
【问题描述】:
我有一个泛型特征:trait Trait<T>,我想创建另一个指定泛型特征:type Alias = Trait<String>。这将允许impl Alias for T 而不必指定类型参数。我尝试了几种方法,但没有找到任何可行的方法。
这不是Type alias for multiple traits 或Aliasing trait with associated types 的重复,因为执行trait Alias: Trait<T> 无论如何都需要人们实现Trait<T>。我想提供一个隐藏泛型的特征。
更清晰的代码示例:
trait DefaultEvents = Events<UserStruct, ChannelStruct, IrcStruct>;
struct MyHandler;
impl DefaultEvents for MyHandler {
...
}
【问题讨论】:
-
我去过那里,但它并没有完全回答我的问题。至少我的理解不是。我知道特征继承。执行
trait Alias: Trait<T>并没有达到我想要的效果,因为无论如何它都需要人们实现Trait<T>。我想提供一个隐藏泛型的特征。
标签: rust