Avatar ·

Confusion avec les modules en Rust : main.rs et lib.rs dans un même projet

Bonjour à tous ! Je suis débutant en Rust et je n'arrive pas à comprendre les modules quand un projet contient à la fois `main.rs` et `lib.rs`.\n\nJ'ai un projet comme ceci :\n\n```\nmy_project/\n├── Cargo.toml\n├── src/\n│ ├── main.rs\n│ └── lib.rs\n```\n\nDans `lib.rs`, j'ai déclaré le module `utils` :\n\n```rust\n// lib.rs\nmod utils;\n\npub fn greet() {\n println!("Hello from lib!");\n}\n```\n\nEt dans `utils.rs`, j'ai une fonction `add` :\n\n```rust\n// utils.rs\npub fn add(a: i32, b: i32) -> i32 {\n a + b\n}\n```\n\nDans `main.rs`, j'essaie d'appeler la fonction `greet` depuis `lib.rs` et la fonction `add` depuis le module `utils` :\n\n```rust\n// main.rs\nfn main() {\n greet(); // erreur\n println!("2 + 3 = {}", utils::add(2, 3)); // erreur aussi\n}\n```\n\nLe compilateur se plaint : "cannot find function `greet` in this scope" et "unresolved import `utils`". Je pensais que si les fichiers se trouvent dans le même dossier `src`, ils se voient automatiquement. Mais ce n'est pas le cas. Dites-moi comment organiser correctement les modules en Rust quand il y a à la fois