Как импортировать модуль из каталога вне каталога `src`? - PullRequest
0 голосов
/ 05 ноября 2019

Я застрял при изучении, как получить доступ к модулю. Я пытаюсь вставить папку, отличную от 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.

1 Ответ

4 голосов
/ 05 ноября 2019

Не . Поместите весь ваш исходный код в каталог 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].

См. Также:

...