Rust:奇怪的错误“`Slice`不是特质”

时间:2014-09-27 10:52:00

标签: compiler-errors rust traits

我认为我可以推广collections::str::StrVector的特征实现并准备补丁

但是,我的代码失败并显示一条奇怪的错误消息:

rustc: x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcollections
/home/nodakai/prog/rust-HEAD/src/libcollections/str.rs:140:17: 140:25 error: `Slice` is not a trait
/home/nodakai/prog/rust-HEAD/src/libcollections/str.rs:140 impl<S: Str, V: Slice<S>> StrVector for V {
                                                                           ^~~~~~~~
error: aborting due to previous error
make: *** [x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/stamp.collections] Error 101

我无法理解我的代码有什么问题,因为the 64th line肯定use s core::prelude::Slicecore::slice::Slice的重新导出版本。此外,围栏编译基本相同的代码:

1 个答案:

答案 0 :(得分:0)

我在Rust IRC得到了答案:

在同一个文件中定义了一个名为MaybeOwned的枚举,它有一个名为Slice的构造函数,它隐藏了特征core::prelude::Slice,因此出现了错误。我认为应该改进错误信息......