Для 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)