爲overflower,我試圖用相應的特質方法調用替換所有的算術運算(二進制+
,-
,*
,/
,%
,<<
,>>
和一元-
)。不過,我用宏命中了一堵牆。理想情況下,我會處理已經擴展的宏,但這似乎不起作用。如何處理程序宏內的擴展宏?
我已按照syntax::fold::Folder::fold_mac(..)
中的建議操作,並且調用了noop_fold_mac(mac, self)
,但這似乎沒有對宏內的任何內容執行任何操作,例如assert_eq!(2, 1 + 1)
。我不關心代碼預擴展,所以如何讓我的宏在擴展的代碼上工作?
我可能直接在TokenTrees
上工作,但這很麻煩。
我使用rustc 1.11.0-nightly (915b003e3 2016-06-02)