Avatar ·

Como dividir corretamente um módulo Rust em vários arquivos?

Olá a todos! Comecei a estudar Rust e me deparei com um problema de organização de código em módulos. Eu tenho um arquivo `main.rs`, onde declarei o módulo `shapes` assim: ```rust mod shapes; fn main() { let rect = shapes::Rectangle::new(3.0, 4.0); println!("Área: {}", rect.area()); } ``` Em `shapes.rs` defini as structs e funções: ```rust pub struct Rectangle { width: f64, height: f64, } impl Rectangle { pub fn new(w: f64, h: f64) -> Rectangle { Rectangle { width: w, height: h } } pub fn area(&self) -> f64 { self.width * self.height } } ``` Tudo funciona, mas agora quero adicionar mais formas: `Circle`, `Triangle`. Se eu colocar tudo em um único `shapes.rs`, o arquivo ficará enorme. Tentei criar uma pasta `shapes/` e colocar `mod.rs`, `rectangle.rs`, `circle.rs`. Em `mod.rs` escrevi: ```rust pub mod rectangle; pub mod circle; ``` Mas o compilador dá erros de que não consegue encontrar os tipos. Como fazer corretamente?