Использовать модуль из родительского каталога в rust - PullRequest
2 голосов
/ 25 января 2020

Можно ли структурировать проект ржавчины таким образом?

Структура каталогов:

src
├── a
│   └── bin1.rs
├── b
│   ├── bin2.rs
└── common
    ├── mod.rs

от Car go .toml:

[[bin]]
name = "bin1"
path = "src/a/bin1.rs"

[[bin]]
name = "bin2"
path = "src/b/bin2.rs"

Я хотел бы иметь возможность использовать модуль common в bin1.rs и bin2.rs. Это возможно путем добавления атрибута пути перед импортом:

#[path="../common/mod.rs"]
mod code;

Есть ли способ для bin1.rs и bin2.rs использовать common без необходимости жесткого кодирования пути?

1 Ответ

0 голосов
/ 26 января 2020

Рекомендуемый метод для совместного использования кода между двоичными файлами - это файл src/lib.rs. Оба бинарных файла автоматически имеют доступ ко всему доступному через этот файл lib.rs в виде отдельного ящика.

Тогда вы просто определите mod common; в файле src/lib.rs. Если ваш ящик называется my_crate, ваши двоичные файлы смогут использовать его с

use my_crate::common::Foo;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...