Confusión con módulos en Rust: main.rs y lib.rs en un mismo proyecto
¡Hola a todos! Soy nuevo en Rust y no logro entender los módulos cuando en el proyecto hay tanto `main.rs` como `lib.rs`.\n\nTengo este proyecto:\n\n```\nmy_project/\n├── Cargo.toml\n├── src/\n│ ├── main.rs\n│ └── lib.rs\n```\n\nEn `lib.rs` declaré el módulo `utils`:\n\n```rust\n// lib.rs\nmod utils;\n\npub fn greet() {\n println!("Hello from lib!");\n}\n```\n\nY en `utils.rs` tengo una función `add`:\n\n```rust\n// utils.rs\npub fn add(a: i32, b: i32) -> i32 {\n a + b\n}\n```\n\nEn `main.rs` intento llamar a la función `greet` desde `lib.rs` y a la función `add` desde el módulo `utils`:\n\n```rust\n// main.rs\nfn main() {\n greet(); // error\n println!("2 + 3 = {}", utils::add(2, 3)); // también error\n}\n```\n\nEl compilador se queja: "cannot find function `greet` in this scope" y "unresolved import `utils`". Pensé que si los archivos están en la misma carpeta `src`, se ven automáticamente entre sí. Pero no es así. Indiquen cómo organizar correctamente los módulos en Rust cuando hay tanto `main.rs` como `lib.rs`.
No answers yet.
Inicia sesión para dejar una respuesta