Скажем, у меня есть этот файл иерархии:Переместить структуру в отдельный файл без разделения на отдельный модуль?
main.rs
protocol/
protocol/mod.rs
protocol/struct.rs
В struct.rs
:
pub struct Struct {
members: i8
}
impl Struct {
pub fn new() -> Struct {
Struct { 4 }
}
}
Как получить доступ как:
mod protocol;
protocol::Struct::new();
// As opposed to:
// protocol::struct::Struct::new();
Я пробовал различные комбинации из pub
use
и mod
, но, по общему признанию, я трясусь от вещей вслепую.
Можно ли разделить структуру (и ее impl
) в отдельный файл без необходимости создавать новый мод?
Это было 'self' в' pub use self :: thing :: Thing', который достал меня, видимо –
Ха-ха, я набросился на то, чтобы скомпилировать себя. Я не знаю, что я обычно глубже, чем один уровень модулей. Я чувствую себя более широким, а более плотным является то, что я видел в ржавчине. – Shepmaster
Nitpick: есть макрос 'include!', Который * может * использоваться для разделения одного модуля на несколько файлов. Это, возможно, неправильное использование, хотя, поскольку AFAIU было добавлено к сценариям генерации кода кэша –