【发布时间】:2025-12-17 01:00:01
【问题描述】:
我正在开发一个项目,该项目使用src/ 下文件夹中的一些本地模块。我目前正在使用 Rust 2018 版,其中一项主要更改是 handling of imports/use statements。
我的模块代码一切正常,但是当我开始将它组合起来用于整个项目时,我开始收到此错误:
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 错误?
【问题讨论】: