【发布时间】:2016-06-15 18:43:15
【问题描述】:
我想在带有no_std 的箱子中使用Box。这可能吗?到目前为止,我的简单尝试都没有奏效。
这会编译(但使用标准库):
fn main() {
let _: Box<[u8]> = Box::new([0; 10]);
}
这不是:
#![no_std]
fn main() {
let _: Box<[u8]> = Box::new([0; 10]);
}
但是,查看 Rust 源代码,我看到 Box 在 liballoc 中定义并带有警告
此库与 libcore 一样,并非用于一般用途,而是作为其他库的构建块。本库中的类型和接口是通过标准库重新导出的,不应通过本库使用。
由于Box 不依赖于std,而只是为它重新导出,看来我只需要找出正确的方法将它导入我的代码。 (尽管这似乎不推荐。)
【问题讨论】:
标签: rust