Warum findet Rost in einem Submodul keine Funktion? [Duplikat

Diese Frage hat hier bereits eine Antwort:

Wie binde ich ein Modul aus einer anderen Datei desselben Projekts ein? 2 Antworten

Ich versuche, eine Funktion von einem Modul aus aufzurufen, das sich in einer separaten Datei befindet. Die Funktion ist öffentlich und ich rufe sie unter Verwendung eines vollständigen Pfads auf, aber rustc beklagt sich weiterhin über "ungelösten Namen".

a.rs
pub mod b;
fn main() {
  b::f()
}
b.rs
pub mod b {
    pub fn f(){
        println!("Hello World!");
    }
}
Zusammenstellun
$ rustc a.rs
a.rs:3:5: 3:9 error: unresolved name `b::f`.

Wenn ich das Modul in die Hauptdatei der Kiste verschiebe, funktioniert alles einwandfrei.

one_file.rs
pub mod b {
    pub fn f(){
        println!("Hello World!");
    }
}
fn main() {
    b::f()
}

Sollen diese beiden Möglichkeiten nicht gleichwertig sein? Mache ich etwas falsch oder ist es ein Fehler in rustc?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage