Подмодуль может быть напрямую встроен внутрь кода модуля.
Одно очень частое использование модулей — это создание юнит-тестов. Мы создаем встроенный модуль, который существует только тогда, когда Rust используется для тестирования!
// Данный макрос удаляет этот встроенный модуль,
// когда Rust не в режиме тестирования.
#[cfg(test)]
mod tests {
// Заметьте, что мы не можем сразу получить доступ к
// родительскому модулю. Его нужно указывать явно.
use super::*;
... tests go here ...
}