Использование элементов в подмодулях из `extern crate` в корневом модуле
Я понимаю, что 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
определяется как ящик библиотеки, который отделил его от обычных пространств имен импорта