11

クレート内でマクロを再利用するのに問題があります。

でマクロが定義されている場合./src/macros.rs:

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

で使用され./src/lib.rsます:

#[macro_use]
pub mod macros;

このマクロが に表示されません./src/submod/lib.rs:

my_macro!(...);

エラーメッセージが表示されますerror: macro undefined: 'my_macro!'

この子モジュールにこのマクロをインポートする方法はありますsubmodか?

4

1 に答える 1

10

私はそれを考え出した!自動的にインポートされますが、マクロが順番にインポートされることに気づきませんでした!

submod以前にモジュールをインポートしたmacrosので、まだmy_macro表示されていませんでした。順序を入れ替えることで、期待どおりの動作が得られました。

于 2015-06-28T18:37:40.637 に答える