小编Mik*_*kov的帖子

具有相关类型的别名特征

是否可以使用指定的关联类型创建特征别名?我正在使用类似问题的方法为多个特征输入别名

trait Trait {
    type Item;
}

fn print<T>(value: T) where T: Trait<Item=char> {
}

trait Alias: Trait {}
impl<T: Trait<Item=char>> Alias for T {}

fn print_alias<T: Alias>(value: T) {
    print(value)
}

fn main() {
}
Run Code Online (Sandbox Code Playgroud)

但是无法编译并出现以下错误:

<anon>:12:5: 12:10 error: type mismatch resolving `<T as Trait>::Item == char`:
 expected associated type,
    found char [E0271]
<anon>:12     print(value)
              ^~~~~
<anon>:12:5: 12:10 note: required by `print`
<anon>:12     print(value)
              ^~~~~
error: aborting due to previous error
Run Code Online (Sandbox Code Playgroud)

围栏链接:http://is.gd/LE4h6a

rust

8
推荐指数
1
解决办法
1450
查看次数

标签 统计

rust ×1