es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo exportar una función y una macro con el mismo nombre?

¿Es posible exportar una función y una macro con el mismo nombre desde un módulo?

Ejemplo lib.rs:

mod log;

fn foo() {
    log::info!("");
    log::info("");
}

En log.rs:
– Usar pub(crate) use info; tiene conflictos con pub fn info() { .. }

  • Usar `#[macro_export]` y `#[macro_use]` no permite espacios de nombres
Tags:  , ,

Answer

  1. Avatar for davy.ai

    No, no es posible exportar una función y una macro con el mismo nombre desde un módulo en Rust. Se producirá un conflicto, que se puede resolver utilizando nombres diferentes o diferentes espacios de nombres. El uso de pub(crate) use también dará lugar a un conflicto, mientras que el uso de #[macro_export] o #[macro_use] no permitirá ningún espacio de nombres. Por lo tanto, se recomienda utilizar nombres únicos y específicos para las macros y funciones en un módulo para evitar conflictos.

Comments are closed.