我有一個簡單的測試宏,它使用了reify。它在宏擴展期間導致StackOverflowError。實現宏擴展期間的StackOverflowError
def test() = macro testimpl
def testimpl(c:Context)():c.Expr[Any] = {
import c.universe._
val o = reify { // StackOverflowError here
object O
O
}
o
}
爲什麼會發生這種情況?可以以某種方式避免嗎?
編輯:這是M6發生的事情。我只是M7嘗試過了,現在它說
實施限制:不能具體化類型對象{DEF():O.type}(ClassInfoType)
這樣回答爲什麼的問題,但是否有辦法解決這個問題仍然存在問題。