rust - “使用”关键字不起作用(从同级文件调用)
问题描述
我正在尝试use
从value.rs
文件中获取结构chunk.rs
,但它不起作用。这是我当前的文件层次结构。
src
|
|---value.rs
|---chunk.rs
|---other files
这是我的value.rs
代码:
pub enum Value {
}
pub struct ValueArray {
values: Vec<Value>,
}
pub impl Value {
pub fn new() -> Value {
Value {
values: Vec::new(),
}
}
pub fn write_chunk(&mut self, value: Value) {
self.code.push(value);
}
}
这是我的chunk.rs
代码:
use crate::value::ValueArray; // Error Here
pub enum OpCode {
OpReturn,
}
pub struct Chunk {
pub code: Vec<OpCode>,
constants: value::ValueArray,
}
impl Chunk {
pub fn new() -> Chunk {
Chunk {
code: Vec::new(),
constants: value::ValueArray::new(),
}
}
pub fn write_chunk(&mut self, byte: OpCode) {
self.code.push(byte);
}
}
这是我的确切错误信息:
unresolved import `crate::value`
could not find `value` in the crate rootrustc(E0432)
chunk.rs(1, 12): could not find `value` in the crate root
我不确定为什么它不起作用,因为我在另一个兄弟文件中做了非常相似的事情。我是 Rust 的新手,所以我感谢你的所有帮助。谢谢
解决方案
您需要在文件上定义value
模块lib.rs
pub mod value;
推荐阅读
- python - 将数据帧与空数据帧合并
- .net - 在.NET核心中创建时是否总是需要选择外键相关元素
- audio - 字体模型视频术语
- xpath - 构建电报即时视图模板时出现“不支持元素”错误
- vue.js - 在Vue中动态获取svg文件作为文本
- sql - SQL 特定的查询更正
- tensorflow - Tensorflow lite 在识别项目时仅使用 labelmap.txt 文件中的第一项
- git - 无法使用私有 gitlab 存储库运行 go install
- json - 从刀片视图 Laravel 中的 JSON 请求中获取特定的自定义字段
- javascript - 在 JS 数组中显示出现,在控制台中返回正确但在 HTML 上未定义?