Dengan mengikuti panduan ini saya membuat proyek Cargo.
src/main.rs
fn main() {
hello::print_hello();
}
mod hello {
pub fn print_hello() {
println!("Hello, world!");
}
}
yang saya jalankan menggunakan
cargo build && cargo run
dan dikompilasi tanpa kesalahan. Sekarang saya mencoba untuk membagi modul utama menjadi dua tetapi tidak dapat menemukan cara menyertakan modul dari file lain.
Pohon proyek saya terlihat seperti ini
├── src
├── hello.rs
└── main.rs
dan konten file:
src/main.rs
use hello;
fn main() {
hello::print_hello();
}
src/hello.rs
mod hello {
pub fn print_hello() {
println!("Hello, world!");
}
}
Ketika saya mengkompilasinya dengan cargo build
saya dapatkan
error[E0432]: unresolved import `hello`
--> src/main.rs:1:5
|
1 | use hello;
| ^^^^^ no `hello` external crate
Saya mencoba mengikuti saran penyusun dan memodifikasi main.rs
menjadi:
#![feature(globs)]
extern crate hello;
use hello::*;
fn main() {
hello::print_hello();
}
Tapi ini masih tidak banyak membantu, sekarang saya mengerti:
error[E0463]: can't find crate for `hello`
--> src/main.rs:3:1
|
3 | extern crate hello;
| ^^^^^^^^^^^^^^^^^^^ can't find crate
Apakah ada contoh sepele tentang bagaimana memasukkan satu modul dari proyek saat ini ke dalam file utama proyek?