我正在使用raw-cpuid crate进行项目。它在processor_brand_string()
function of ExtendedFunctionInfo structure
中使用raw::Slice
结构。
let slice = raw::Slice { data: brand_string_start, len: 3*4*4 };
上述声明无法编译。它会因此错误而中止
cannot find struct, variant or union type `Slice` in module `raw`
--> /home/ubuntu/.cargo/registry/src/github.com-1ecc6299db9ec823/raw-cpuid-2.0.0/src/lib.rs:435:25
|
435 | let slice = raw::Slice { data: brand_string_start, len: 3*4 };
| ^^^^^^^^^^ not found in `raw`
crate使用no_std
属性。 Rust书说
当我们使用标准库时,Rust自动带来
std
进入范围,允许您在没有明确的情况下使用其功能 进口。出于同样的原因,当使用#![no_std]
时,Rust会带来core
进入你的范围,以及它的前奏。这意味着很多 代码将Just Work。
我检查了核心包,它在原始模块中有Slice
结构。我已经搜索了这个错误的任何解决方案,但我找不到一个,而我是Rust的新手,我无法弄清楚该做什么。我不认为很多人使用过这个箱子,但任何帮助都表示赞赏。感谢