Avatar ·

Cómo conectar un módulo desde otro archivo en el mismo proyecto en Rust

Acabo de empezar a aprender Rust y estoy tratando de entender el sistema de módulos. Tengo un proyecto simple creado con `cargo new my_project`. Tiene el estándar `src/main.rs`, donde puse mi lógica principal. Pero el código se está volviendo demasiado grande y quiero mover varias funciones a archivos separados. Creé el archivo `src/math.rs` con una función simple: ```rust // src/math.rs fn add(x: i32, y: i32) -> i32 { x + y } ``` Ahora quiero usar esta función en `src/main.rs`. Intenté escribir `mod math;` y luego llamar a `math::add(2, 3)`, pero el compilador da un error: `error[E0603]: function `add` is private`. También probé diferentes variantes con `use`, pero nada funciona. Leí la documentación, pero parece complicada. Por favor, explícame cómo organizar correctamente el código en varios archivos. ¿Qué estoy haciendo mal? ¿Necesito cambiar algo en `Cargo.toml`? ¿Cómo hago visible la función desde otros módulos? ¿Y cómo estructurar correctamente el proyecto si voy a tener muchos archivos?