我在src/
有三个文件,如下所示:
礼拜.人生
pub mod first
first.人生
fn hello() {}
卖弄.人生
pub mod lib
这给了我一个错误说:
error[E0583]: file not found for module `first`
--> src/lib.rs:1:9
|
1 | pub mod first;
| ^^^^^
|
= help: name the file either lib/first.rs or lib/first/mod.rs inside the directory "src"
现在,如果我从pub mod lib
删除main.rs
,一切都编译好。
我不明白为什么会这样。
编译器说的帮助非常有意义。当您在pub mod first;
中编写lib.rs
时,它会检查first.rs
文件夹或first
文件夹中的lib
文件或mod.rs
文件夹。
请注意mod.rs
用法随Rust 2018改变.Reference
现在,如果我从main.rs中删除pub mod lib,一切都编译好了。
当你从主要删除pub mod lib;
时,
你基本上说这个代码不会在生产中使用,因此甚至不需要编译。所以基本上代码不会包含在编译中。
这就是为什么它删除pub mod lib;
时的工作原理