It's easy to write hygienic macros in Scala by using reify and eval. But it's not always possible to use reify and eval.
So, if one can't use them, what are the rules that will ensure that a macro is hygienic? And is there any way to test a macro to ensure that no bad hygiene has slipped through the cracks?
upd. In later milestones of 2.10.0, Expr.eval got renamed to Expr.splice.