For example, in
fn main() {
#macro([#mylambda(x,body), {fn f(int x) -> int { ret body }; f}]);
assert(#mylambda(y,y*2)(8) == 16);
}
It will produce "unresolved name" errors for x, body, and y.
I'm not really sure if there is a good way to fix this. Typechecking depends on macro expansion but pretty printing after macro expansion is quite different from pretty printing before it...