Rust如何调用父级模块

我知道怎么在父模块调用子模块,但在子模块中怎么调用父模块的邻接模块的代码?具体的例子如下:

假设rust项目的目录结构如下:

src/main.rs
src/lib.rs
src/module1/used.rs
src/module1/mod.rs
src/module2/call.rs
src/module2/mod.rs

关键的文件的内容如下:

// src/module1/used.rs
pub fn call_func() {
    println!("call function in another module");
}
// src/module1/mod.rs
mod used;
pub use self::used::call_func;
// src/module2/call.rs
use module1::call_func;
fn try_to_call() {
    call_func();
}
// lib.rs
mod module1;
mod module2;

编译以上代码,编译器错误提示"Use of undeclared type or module module1"

阅读 4.6k
1 个回答
// src/module2/call.rs
use crate::module1::used::call_func;
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进