Следуя this guide Я создал проект грузаКак включить модуль из другого файла из того же проекта?
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
я
modules/src/main.rs:1:5: 1:10 error: unresolved import (maybe you meant `hello::*`?)
modules/src/main.rs:1 use hello;
^~~~~
error: aborting due to previous error
Could not compile `modules`.
Я пытался следовать предложениям компилятора и модифицированный main.rs к
#![feature(globs)]
extern crate hello;
use hello::*;
fn main() {
hello::print_hello();
}
, но это еще не помогает, теперь я получаю эту
modules/src/main.rs:3:1: 3:20 error: can't find crate for `hello`
modules/src/main.rs:3 extern crate hello;
^~~~~~~~~~~~~~~~~~~
error: aborting due to previous error
Could not compile `modules`.
Есть ли тривиальный пример того, как включить один модуль из текущего проекта в основной файл проекта?
Кроме того, я бегу ржавчина 0.13.0-nightly и груз 0.0.1-пред-ночной.
возможно дубликат [основных импорта ржавчины (включает в себя)] (http://stackoverflow.com/questions/26224947/rust-basic-imports-includes) – Levans
Связано с http://stackoverflow.com/questions/22596920/split-a-module-across-several-files – Kelvin