Fehler beim Verwenden lokaler Module in Dokumentationstests

Ich spiele mit einer kleinen Kiste für die Erzeugung von 2D-Rauschen herum. Hier ist ein vereinfachtes Snippet meiner "lib.rs" -Datei:

pub mod my_math {
    pub struct Vec2<T> {
        ...
    }
    ...
}
pub mod my_noise {
    use num::Float;
    use std::num::Wrapping;
    use my_math::*;

    /// Gets pseudo-random noise based on a seed vector.
    /// 
    /// # Examples
    /// 
    /// ```
    /// use my_math::Vec2;
    /// 
    /// let v_seed = Vec2::<f32>::new_values(4.134, -23.141);
    /// let noise_val = get_noise_white(&v_seed);
    /// 
    /// assert!(noise_val >= 0.0);
    /// assert!(noise_val <= 1.0);
    /// ```
    pub fn get_noise_white(seed: &Vec2<f32>) -> f32 {
        ...
    }
}

Allerdings, wenn ich laufecargo test, Ich erhalte den folgenden Fehler:

---- my_noise :: get_noise_white_0 stdout ----

<anon>: 3: 9: 3:16 Fehler: ungelöster Importmy_math::Vec2. Vielleicht ein fehlendesextern crate my_math?

<anon>: 3 benutze my_math :: Vec2;

Ich habe auch andere Formen des @ ausprobieuse -Anweisung im Dokumentkommentar, einschließlichuse my_math::*; unduse self::my_math::*;. Wenn ich die Zeile vollständig entferne, erhalte ich den Fehler, dassVec2 ist nicht definiert

Was ist der richtige Weg, um dies zu tun?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage