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

0 ответов

Другие вопросы по тегам