使用根模块中`extern crate`的子模块中的项目

时间:2015-06-04 19:02:26

标签: rust rust-crates

我的理解是,根模块中的extern crate foo;声明可以导入到use foo::bar的任何子模块中。虽然这在一个子模块中起作用,但它在另一个子模块中不起作用。任何想法为什么这可能不起作用?

|--- main.rs
|--- module1
     |--- mod.rs
     |--- submod1.rs
|--- module2
     |--- mod.rs
     |--- submod2.rs

// main.rs
extern crate rustc_serialize;
mod module1;
mod module2;

// module1/mod.rs
mod submod1;

// module1/submod1.rs
use rustc_serialize::json; // WORKS

// module2/mod.rs
mod submod2;

// module2/submod2.rs
use rustc_serialize::json; // DOESN'T WORK
编辑:我忘记了在我的项目中,module1被定义为一个库包,它将它从通常的导入名称空间中分离出来

0 个答案:

没有答案