Module 在新模块中使用另一个模块的结构

Module 在新模块中使用另一个模块的结构,module,rust,Module,Rust,下面的代码没有编译,因为它说当我尝试在操作模块中使用它时,没有定义请求 我想这可能与导入模块有关,但我对锈迹还是很陌生,不明白。我想我可以只做module::struct,只要该结构是公共的,我就可以访问它 有人能解释为什么这不起作用,以及如何使它起作用吗 pub mod车辆{ 结构车辆{ _车辆识别号:u64, _容量:u32, } impl车辆{ 新发布(id:u64,cap:u32)->车辆{ 车辆{ _车辆id:id, _容量:上限, } } pub fn get_id(&self)->

下面的代码没有编译,因为它说当我尝试在操作模块中使用它时,没有定义请求

我想这可能与导入模块有关,但我对锈迹还是很陌生,不明白。我想我可以只做module::struct,只要该结构是公共的,我就可以访问它

有人能解释为什么这不起作用,以及如何使它起作用吗

pub mod车辆{
结构车辆{
_车辆识别号:u64,
_容量:u32,
}
impl车辆{
新发布(id:u64,cap:u32)->车辆{
车辆{
_车辆id:id,
_容量:上限,
}
}
pub fn get_id(&self)->u64{
自我识别号
}
发布fn获取容量(&self)->u32{
自身容量
}
}
}
国防部请求{
发布结构请求{
_请求id:u64,
_请求时间:i64,
_来源:u64,
_目的地:u64,
_分配:布尔,
}
impl请求{
pub fn new(id:u64,时间:i64,来源:u64,目的地:u64)->请求{
请求{
_请求\u id:id,
_请求时间:时间,
_来源:来源,,
_目的地:目的地,
_赋值:false,
}
}
pub fn get_id(&self)->u64{
self.\u请求\u id
}
发布fn获取请求时间(&self)->i64{
自我要求时间
}
pub fn get_origin(&self)->u64{
自我起源
}
pub fn get_destination(&self)->u64{
目的地
}
发布fn是指定的(&self)->bool{
自我分配
}
}
}
发布模式操作{
#[派生(克隆、复制)]
发布枚举操作类型{
改善
辍学,
}
发布结构操作{
_请求:请求::请求,
_地点:u64,
_操作类型:操作类型,
_预计时间:i64,
}
impl操作{
pub fn new(请求:requests::request,optype:OperationType,位置:u64,时间:i64)->Self{
自我{
_请求:请求,
_操作类型:optype,
_地点:地点,,
_预计时间:时间,
}
}
发布fn获取位置(&self)->u64{
自我定位
}
pub fn get_请求(&self)->&requests::request{
&自我要求
}
发布fn获取类型(&self)->操作类型{
自身操作类型
}
发布fn获取预期时间(&self)->i64{
自我。你期待的时间
}
}
}

自2018年起,您必须使用关键字,添加
使用板条箱::请求
模块中您希望使用
请求的位置(通常在顶部)


请参阅本书的相关章节。

自2018年起,您必须使用关键字,添加
使用板条箱::请求
模块中您希望使用
请求的位置(通常在顶部)


请参阅本书中的相关章节。

这一行应该放在哪里?我试着在文件的顶部,但没有成功。为什么在同一个文件中声明模块时,我必须导入它们?@Connor module是完全分离的单元,就像每个模块使用不同的文件一样。我应该将这一行放在哪里?我试着在文件的顶部,但没有成功。在同一个文件中声明模块时,为什么我必须导入它们?@Connor module是完全分离的单元,就像每个模块使用不同的文件一样。