使用不稳定的库功能 - 我该如何解决这些问题?

时间:2015-06-22 08:20:55

标签: rust

我又遇到了一堆错误:

$ cargo build
error: use of unstable library feature 'std_misc'
use std::time::duration::Duration;
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
error: use of unstable library feature 'convert': waiting on RFC revision
let my_let1 = aaa(bbb.as_str(), ccc, ddd.eee);
                                                        ^~~~~~~~
error: use of unstable library feature 'convert': waiting on RFC revision
let let1 = aaa.as_slice();
                                             ^~~~~~~~~~
error: use of unstable library feature 'convert': waiting on RFC revision
let let1 = str::from_utf8(aaa.as_slice()).unwrap();
                                                ^~~~~~~~~~

如何解决?这是什么意思:add #![feature(collections)] to the crate attributes to enable - 箱子是什么?我没有箱子的源代码。那么其他人如何在他们的机器上编译我的库呢?

奇怪的是,这也引发了一个错误:

src/lib.rs:1:1: 1:31 error: unstable feature
src/lib.rs:1 #![feature(convert, std_misc)]

当我将它添加到我的库顶部时。

1 个答案:

答案 0 :(得分:2)

我假设你正在使用Rust stable。在这种情况下,无法启用不稳定的功能。

对于Duration,您可以使用time crate on crates.io将其添加到Cargo.toml中的依赖项。

在其他情况下,您应该能够分别使用&aaa&bbb来获取Vec或String中的切片。 e.g。

let b = String::from("foo"); // b is a String
let c: &str = &b; // c expects a &str; b is automatically dereferenced