Postępując zgodnie z tym przewodnikiem stworzyłem projekt Cargo.
src/main.rs
fn main() {
hello::print_hello();
}
mod hello {
pub fn print_hello() {
println!("Hello, world!");
}
}
z których korzystam
cargo build && cargo run
i kompiluje się bez błędów. Teraz próbuję podzielić główny moduł na dwie części, ale nie mogę dowiedzieć się, jak dołączyć moduł z innego pliku.
Moje drzewo projektów wygląda tak
├── src
├── hello.rs
└── main.rs
oraz zawartość plików:
src/main.rs
use hello;
fn main() {
hello::print_hello();
}
src/hello.rs
mod hello {
pub fn print_hello() {
println!("Hello, world!");
}
}
Kiedy kompiluję to cargo build
, otrzymuję
error[E0432]: unresolved import `hello`
--> src/main.rs:1:5
|
1 | use hello;
| ^^^^^ no `hello` external crate
Próbowałem postępować zgodnie z sugestiami kompilatora i zmodyfikowałem main.rs
do:
#![feature(globs)]
extern crate hello;
use hello::*;
fn main() {
hello::print_hello();
}
Ale to nadal niewiele pomaga, teraz rozumiem:
error[E0463]: can't find crate for `hello`
--> src/main.rs:3:1
|
3 | extern crate hello;
| ^^^^^^^^^^^^^^^^^^^ can't find crate
Czy istnieje trywialny przykład, jak dołączyć jeden moduł z bieżącego projektu do głównego pliku projektu?