Avatar ·

الارتباك مع الوحدات في Rust: main.rs و lib.rs في مشروع واحد

مرحباً بالجميع! أنا مبتدئ في Rust ولا أستطيع فهم الوحدات عندما يكون في المشروع `main.rs` و `lib.rs` معاً. لدي مشروع مثل هذا: ``` my_project/ ├── Cargo.toml ├── src/ │ ├── main.rs │ └── lib.rs ``` في `lib.rs` أعلنت عن module `utils`: ```rust // lib.rs mod utils; pub fn greet() { println!("Hello from lib!"); } ``` وفي `utils.rs` لدي function `add`: ```rust // utils.rs pub fn add(a: i32, b: i32) -> i32 { a + b } ``` في `main.rs` أحاول استدعاء function `greet` من `lib.rs` و function `add` من module `utils`: ```rust // main.rs fn main() { greet(); // خطأ println!("2 + 3 = {}", utils::add(2, 3)); // خطأ أيضاً } ``` المترجم يشتكي: "cannot find function `greet` in this scope" و "unresolved import `utils`". ظننت أنه إذا كانت الملفات موجودة في نفس المجلد `src`، فإنها ترى بعضها البعض تلقائياً. لكن هذا غير صحيح. أرشدوني كيف أنظم الوحدات في Rust بشكل صحيح عندما يكون هناك