Я создаю инструмент в Rust, который способен генерировать фиктивные данные временных рядов для тестирования различных систем, которые у нас есть. Я пытаюсь реализовать черту под названием «Batch», которая объявлена в моем lib.rs, который находится в корне проекта. Однако в моих модулях Rust жалуется, что эта черта не входит в сферу применения. Как я могу получить доступ к объявлениям в более высоком пространстве имен из моих модулей?
Вот так выглядит мой проект:
- main.rs
- lib.rs
- factory
- cassandra.rs
- jboss.rs
- mod.rs
- drain
- http.rs
- cqlsh.rs
- mod.rs
lib.rs содержит:
pub trait Batch<T> {
fn create(&self) -> Option<T>
}
А внутри cassandra.rs и jboss.rs у меня есть структуры, для которых я пытаюсь реализовать Batch. В lib.rs я объявил оба модуля, используя:
pub mod drains;
pub mod factory;
Является ли это даже правильным подходом или я должен просто объединить cassandra.rs & jboss.rs в одном файле и объявить черту там?