同じクレート内の別々のファイルに2つのモジュールがあり、クレートがmacro_rules
有効になっています。あるモジュールで定義されたマクロを別のモジュールで使用したい。
// macros.rs
#[macro_export] // or not? is ineffectual for this, afaik
macro_rules! my_macro(...)
// something.rs
use macros;
// use macros::my_macro; <-- unresolved import (for obvious reasons)
my_macro!() // <-- how?
私は現在、コンパイラエラー " macro undefined: 'my_macro'
" ...をヒットしました。これは理にかなっています。マクロシステムは、モジュールシステムの前に実行されます。どうすればそれを回避できますか?
module::my_macro!()?