在学习如何访问模块时,我陷入了困境。我正在尝试将src
以外的文件夹插入src
中。它不起作用,给我一个错误。这是我的项目树。
$ Project1
.
|-- src
| |-- main.rs
| |--FolderinSrcFolder
| |--folderinsrcmodule.rs
|
|--anothersrc
| |--mod.rs
|
|-- rootmodule.rs
|-- Cargo.toml
|-- Cargo.lock
如何访问anothersrc/mod.rs
src/main.rs
?如何从rootmodule.rs
访问src/main.rs
?
我已经阅读了Rust文档。
答案 0 :(得分:4)
不要。将所有源代码放入src
目录中。不要与这些习语和惯例作斗争,这根本不值得。
这是字面上的答案,但实际上不使用它!
布局
.
├── Cargo.toml
├── bad_location.rs
└── src
└── main.rs
src / main.rs
#[path = "../bad_location.rs"]
mod bad_location;
fn main() {
println!("Was this a bad idea? {}", bad_location::dont_do_this());
}
badlocation.rs
pub fn dont_do_this() -> bool {
true
}
关键是#[path]
注释。
另请参阅: