Avatar ·

Como importar um módulo de outro arquivo no mesmo projeto em Rust?

Acabei de começar a estudar Rust e estou tentando entender o sistema de módulos. Tenho um projeto simples criado com `cargo new my_project`. Ele tem o padrão `src/main.rs`, onde coloquei minha lógica principal. Mas o código está ficando muito grande e quero mover algumas funções para arquivos separados. Criei o arquivo `src/math.rs` com uma função simples: ```rust // src/math.rs fn add(x: i32, y: i32) -> i32 { x + y } ``` Agora quero usar essa função em `src/main.rs`. Tentei escrever `mod math;` e depois chamar `math::add(2, 3)`, mas o compilador dá erro: `error[E0603]: function `add` is private`. Também tentei várias opções com `use`, mas nada funciona. Li a documentação, mas parece complicada. Explique, por favor, como organizar o código em vários arquivos corretamente? O que estou fazendo de errado? Preciso mudar algo no `Cargo.toml`? Como tornar a função visível para outros módulos? E como estruturar o projeto corretamente se eu tiver muitos