Я работаю над проектом, который использует некоторые локальные модули в папках под src/
.В настоящее время я использую редакцию Rust 2018, и одним из основных изменений для этого является обработка операторов import / use
.
Мой код модуля работает правильно, но, как яначал собирать его для использования в проекте в целом, я начал получать эту ошибку:
error[E0432]: unresolved import `crate::lexer`
--> src/main.rs:1:5
|
1 | use crate::lexer;
| ^^^^^^^^^^^^ no `lexer` in the root
В настоящее время мой код настроен так:
src/
| main.rs
| lexer/
| mod.rs
| lexer.rs
lexer / lexer.rs
pub fn lex_stuff() -> Vec<String> { vec![String::new("test")] }
lexer / mod.rs
pub mod lexer;
main.rs
use crate::lexer;
fn main() {
println!("Hello, world!");
lexer::lexer::lex_stuff();
}
Я попытался решить эту проблему, изменив выражение на use lexer
, а также use self::lexer
и добавив extern crate lexer
(что, очевидно, не работает, но, черт возьми, подумал, что я попробуюЭто).Однако ни один из них не сработал.
Что можно сделать, чтобы устранить ошибку no 'lexer' in the root
?