2015-06-28 19 views
5

Ho problemi a riutilizzare i macro all'interno di una cassa.Importazione macro dal modulo principale

Se una macro è definita in ./src/macros.rs:

#[macro_export] 
macro_rules! my_macro { 
    ... 
} 

e utilizzato in ./src/lib.rs:

#[macro_use] 
pub mod macros; 

non riesco a vedere questa macro in ./src/submod/lib.rs:

my_macro!(...); 

cede il messaggio di errore error: macro undefined: 'my_macro!'.

C'è un modo per importare questa macro in questo modulo figlio submod?

+0

Possibile duplicato di [Come utilizzare una macro tra i file del modulo?] (Https://stackoverflow.com/questions/26731243/how-do-i-use-a-macro-across-module-files) –

risposta

4

L'ho capito! Viene importato automaticamente, ma non mi sono reso conto che le macro sono importate in ordine!

ho importato il modulo submod prima macros, quindi my_macro non era visibile ancora. Scambiando l'ordine, ho ottenuto il comportamento previsto.

+4

Sarebbe bello vedere il bit di codice che lo risolveva prima e dopo. –

+0

Mi piacerebbe anche vedere il codice che ha risolto questo –

Problemi correlati