Error al usar módulos locales en pruebas de documentación

Estoy jugando con una pequeña caja para la generación de ruido 2D. Aquí hay un fragmento simplificado de mi archivo "lib.rs":

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 {
        ...
    }
}

Sin embargo, cuando corroprueba de carga, Obtuve el siguiente error:

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

<anon>: 3: 9: 3:16 error: importación no resueltamy_math::Vec2. Tal vez un desaparecidoextern crate my_math?

<anon>: 3 use my_math :: Vec2;

También he probado otras formas deuse declaración en el comentario del documento, que incluyeuse my_math::*; yuse self::my_math::*;. Si elimino la línea por completo, aparece un error queVec2 es indefinido.

¿Cuál es la forma correcta de hacer esto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta