macro definition scope is wrong
This:
function foo() {
macro ret {
case () => { "outer" }
}
function bar() {
macro ret {
case () => { "inner" }
}
ret()
}
ret()
}
expands to "inner"
for both invocations of ret()
which is wrong.