Closed
Description
Compiler version
3.3.1
Minimized code
import scala.quoted.*
object BadMacros {
inline def whatever: Int = ${whateverImpl}
def whateverImpl(using Quotes): Expr[Int] = {
import quotes.reflect.*
val t = '{class K[T]}.asTerm
object mapper extends TreeMap
mapper.transformTree(t)(Symbol.spliceOwner)
'{42}
}
}
Output
Upon invocation of whatever
, this happens:
Exception occurred while executing macro expansion.
scala.MatchError: TypeBoundsTree(Inferred(), Inferred()) (of class java.lang.String)
at scala.quoted.Quotes$reflectModule$TreeMap.transformTypeTree(Quotes.scala:4991)
at scala.quoted.Quotes$reflectModule$TreeMap.transformTypeTree$(Quotes.scala:4846)
at utest.BadMacros$mapper$2$.transformTypeTree(BadMacros.scala:11)
at scala.quoted.Quotes$reflectModule$TreeMap.transformTree(Quotes.scala:4858)
at scala.quoted.Quotes$reflectModule$TreeMap.transformTree$(Quotes.scala:4846)
at utest.BadMacros$mapper$2$.transformTree(BadMacros.scala:11)
at scala.quoted.Quotes$reflectModule$TreeMap.transformStatement(Quotes.scala:4897)
at scala.quoted.Quotes$reflectModule$TreeMap.transformStatement$(Quotes.scala:4846)
at utest.BadMacros$mapper$2$.transformStatement(BadMacros.scala:11)
at scala.quoted.Quotes$reflectModule$TreeMap.$anonfun$5(Quotes.scala:4905)
at scala.collection.immutable.List.map(List.scala:246)
at scala.quoted.Quotes$reflectModule$TreeMap.transformStatement(Quotes.scala:4905)
at scala.quoted.Quotes$reflectModule$TreeMap.transformStatement$(Quotes.scala:4846)
at utest.BadMacros$mapper$2$.transformStatement(BadMacros.scala:11)
at scala.quoted.Quotes$reflectModule$TreeMap.transformStats$$anonfun$1(Quotes.scala:5003)
at scala.collection.immutable.List.mapConserve(List.scala:472)
at scala.quoted.Quotes$reflectModule$TreeMap.transformStats(Quotes.scala:5003)
at scala.quoted.Quotes$reflectModule$TreeMap.transformStats$(Quotes.scala:4846)
at utest.BadMacros$mapper$2$.transformStats(BadMacros.scala:11)
at scala.quoted.Quotes$reflectModule$TreeMap.transformTerm(Quotes.scala:4941)
at scala.quoted.Quotes$reflectModule$TreeMap.transformTerm$(Quotes.scala:4846)
at utest.BadMacros$mapper$2$.transformTerm(BadMacros.scala:11)
at scala.quoted.Quotes$reflectModule$TreeMap.transformTerm(Quotes.scala:4957)
at scala.quoted.Quotes$reflectModule$TreeMap.transformTerm$(Quotes.scala:4846)
at utest.BadMacros$mapper$2$.transformTerm(BadMacros.scala:11)
at scala.quoted.Quotes$reflectModule$TreeMap.transformStatement(Quotes.scala:4882)
at scala.quoted.Quotes$reflectModule$TreeMap.transformStatement$(Quotes.scala:4846)
at utest.BadMacros$mapper$2$.transformStatement(BadMacros.scala:11)
at scala.quoted.Quotes$reflectModule$TreeMap.transformTree(Quotes.scala:4857)
at scala.quoted.Quotes$reflectModule$TreeMap.transformTree$(Quotes.scala:4846)
at utest.BadMacros$mapper$2$.transformTree(BadMacros.scala:11)
at utest.BadMacros$.whateverImpl(BadMacros.scala:12)
Expectation
No error