Podmoduł może zostać zdefiniowany bezpośrednio wewnątrz kodu innego modułu.
Jednym z bardzo popularnych zastosowań modułów wewnętrznych jest tworzenie testów jednostkowych. Tworzymy moduł wewnętrzny, który istnieje jedynie wtedy, gdy Rust jest używany do testowania!
// To makro usuwa ten moduł wewnętrzny, kiedy Rust
// nie znajduje się w trybie testowania.
#[cfg(test)]
mod tests {
// Zwróć uwagę, że nie mamy od razu dostępu do
// modułu rodzicielskiego. Musimy zrobić to jawnie.
use super::*;
... tests go here ...
}
