Zum Inhalt springen

Module

Stellen Sie sich ein Rust-Paket mit der folgenden Verzeichnisstruktur vor:

foobar
├── Cargo.toml
└── src/
├── lib.rs
├── engine.rs
└── engine/
└── analysis.rs

Der Inhalt jeder Datei ist:

engine/analysis.rs
pub fn run() {}
engine.rs
mod analysis;
pub use analysis::*;
lib.rs
pub mod engine;

Angenommen, ein anderer Rust-Entwickler verwendet die foobar Bibliothek-Crate in einem separaten Paket und möchte die Funktion run aufrufen. Welchen Pfad würden sie schreiben?

Der Modulbaum, der durch diese Verzeichnisstruktur generiert wird, ist wie folgt:

foobar
└── engine
└── run

Daher ist der Pfad zu run foobar::engine::run.