Дотримуючись цього керівництва, я створив проект Cargo.
src/main.rs
fn main() {
hello::print_hello();
}
mod hello {
pub fn print_hello() {
println!("Hello, world!");
}
}
яку я запускаю за допомогою
cargo build && cargo run
і збирається без помилок. Зараз я намагаюся розділити головний модуль на два, але не можу зрозуміти, як включити модуль з іншого файлу.
Моє дерево проекту виглядає приблизно так
├── src
├── hello.rs
└── main.rs
і вміст файлів:
src/main.rs
use hello;
fn main() {
hello::print_hello();
}
src/hello.rs
mod hello {
pub fn print_hello() {
println!("Hello, world!");
}
}
Коли я складаю його, cargo build
я отримую
error[E0432]: unresolved import `hello`
--> src/main.rs:1:5
|
1 | use hello;
| ^^^^^ no `hello` external crate
Я намагався виконувати пропозиції компілятора і змінив main.rs
:
#![feature(globs)]
extern crate hello;
use hello::*;
fn main() {
hello::print_hello();
}
Але це все ще не дуже допомагає, тепер я розумію:
error[E0463]: can't find crate for `hello`
--> src/main.rs:3:1
|
3 | extern crate hello;
| ^^^^^^^^^^^^^^^^^^^ can't find crate
Чи є тривіальний приклад того, як включити один модуль з поточного проекту в основний файл проекту?