Closed
Description
Compiler version
3.2.2
, 3.3.0-RC4
. main
Minimized code
main.scala
//> using scala "3.2.2"
//> using options "-Xprint:inlining"
val foo = gen
macro.scala
import scala.quoted.*
inline def gen: Unit = ${ genImpl }
def genImpl(using Quotes): Expr[Unit] = {
import quotes.reflect.*
val valDefSymbol = Symbol.newVal(Symbol.spliceOwner, "bar", TypeRepr.of[Unit], Flags.EmptyFlags, Symbol.spliceOwner)
val valDef = ValDef(valDefSymbol, Some('{ () }.asTerm))
Block(
List(valDef),
'{ () }.asTerm
).asExprOf[Unit]
}
Output (click arrow to expand)
Exception in thread "main" java.lang.AssertionError: assertion failed: isType called on not-a-Type val foo
at scala.runtime.Scala3RunTime$.assertFailed(Scala3RunTime.scala:8)
at dotty.tools.dotc.core.Symbols$Symbol.asType(Symbols.scala:173)
at dotty.tools.dotc.printing.RefinedPrinter.Modifiers(RefinedPrinter.scala:826)
at dotty.tools.dotc.printing.RefinedPrinter.mods(RefinedPrinter.scala:822)
at dotty.tools.dotc.printing.RefinedPrinter.valDefToText$$anonfun$1(RefinedPrinter.scala:881)
at dotty.tools.dotc.printing.RefinedPrinter.dclTextOr(RefinedPrinter.scala:864)
at dotty.tools.dotc.printing.RefinedPrinter.valDefToText(RefinedPrinter.scala:884)
at dotty.tools.dotc.printing.RefinedPrinter.toTextCore(RefinedPrinter.scala:584)
at dotty.tools.dotc.printing.RefinedPrinter.toText$$anonfun$2(RefinedPrinter.scala:747)
at dotty.tools.dotc.printing.MessageLimiter.controlled(MessageLimiter.scala:23)
at dotty.tools.dotc.printing.PlainPrinter.controlled(PlainPrinter.scala:39)
at dotty.tools.dotc.printing.RefinedPrinter.toText(RefinedPrinter.scala:818)
at dotty.tools.dotc.ast.Trees$Tree.toText(Trees.scala:187)
at dotty.tools.dotc.printing.Printer.toText$$anonfun$1(Printer.scala:178)
at scala.collection.immutable.List.map(List.scala:246)
at scala.collection.immutable.List.map(List.scala:79)
at dotty.tools.dotc.printing.Printer.toText(Printer.scala:178)
at dotty.tools.dotc.printing.RefinedPrinter.blockText(RefinedPrinter.scala:315)
at dotty.tools.dotc.printing.RefinedPrinter.blockToText(RefinedPrinter.scala:311)
at dotty.tools.dotc.printing.RefinedPrinter.toTextCore(RefinedPrinter.scala:480)
at dotty.tools.dotc.printing.RefinedPrinter.toText$$anonfun$2(RefinedPrinter.scala:747)
at dotty.tools.dotc.printing.MessageLimiter.controlled(MessageLimiter.scala:23)
at dotty.tools.dotc.printing.PlainPrinter.controlled(PlainPrinter.scala:39)
at dotty.tools.dotc.printing.RefinedPrinter.toText(RefinedPrinter.scala:818)
at dotty.tools.dotc.printing.RefinedPrinter.toTextCore$$anonfun$5(RefinedPrinter.scala:470)
at dotty.tools.dotc.printing.Printer.atPrec(Printer.scala:43)
at dotty.tools.dotc.printing.Printer.changePrec(Printer.scala:71)
at dotty.tools.dotc.printing.RefinedPrinter.toTextCore(RefinedPrinter.scala:474)
at dotty.tools.dotc.printing.RefinedPrinter.toText$$anonfun$2(RefinedPrinter.scala:747)
at dotty.tools.dotc.printing.MessageLimiter.controlled(MessageLimiter.scala:23)
at dotty.tools.dotc.printing.PlainPrinter.controlled(PlainPrinter.scala:39)
at dotty.tools.dotc.printing.RefinedPrinter.toText(RefinedPrinter.scala:818)
at dotty.tools.dotc.printing.RefinedPrinter.toTextCore(RefinedPrinter.scala:525)
at dotty.tools.dotc.printing.RefinedPrinter.toText$$anonfun$2(RefinedPrinter.scala:747)
at dotty.tools.dotc.printing.MessageLimiter.controlled(MessageLimiter.scala:23)
at dotty.tools.dotc.printing.PlainPrinter.controlled(PlainPrinter.scala:39)
at dotty.tools.dotc.printing.RefinedPrinter.toText(RefinedPrinter.scala:818)
at dotty.tools.dotc.printing.RefinedPrinter.optText(RefinedPrinter.scala:1050)
at dotty.tools.dotc.printing.RefinedPrinter.valDefToText$$anonfun$1$$anonfun$1(RefinedPrinter.scala:883)
at dotty.tools.dotc.printing.RefinedPrinter.withEnclosingDef(RefinedPrinter.scala:50)
at dotty.tools.dotc.printing.RefinedPrinter.valDefToText$$anonfun$1(RefinedPrinter.scala:883)
at dotty.tools.dotc.printing.RefinedPrinter.dclTextOr(RefinedPrinter.scala:864)
at dotty.tools.dotc.printing.RefinedPrinter.valDefToText(RefinedPrinter.scala:884)
at dotty.tools.dotc.printing.RefinedPrinter.toTextCore(RefinedPrinter.scala:584)
at dotty.tools.dotc.printing.RefinedPrinter.toText$$anonfun$2(RefinedPrinter.scala:747)
at dotty.tools.dotc.printing.MessageLimiter.controlled(MessageLimiter.scala:23)
at dotty.tools.dotc.printing.PlainPrinter.controlled(PlainPrinter.scala:39)
at dotty.tools.dotc.printing.RefinedPrinter.toText(RefinedPrinter.scala:818)
at dotty.tools.dotc.ast.Trees$Tree.toText(Trees.scala:187)
at dotty.tools.dotc.printing.Printer.toText$$anonfun$1(Printer.scala:178)
at scala.collection.immutable.List.map(List.scala:250)
at scala.collection.immutable.List.map(List.scala:79)
at dotty.tools.dotc.printing.Printer.toText(Printer.scala:178)
at dotty.tools.dotc.printing.Printer.toTextGlobal$$anonfun$2(Printer.scala:186)
at dotty.tools.dotc.printing.Printer.atPrec(Printer.scala:43)
at dotty.tools.dotc.printing.Printer.toTextGlobal(Printer.scala:186)
at dotty.tools.dotc.printing.RefinedPrinter.toTextTemplate(RefinedPrinter.scala:978)
at dotty.tools.dotc.printing.RefinedPrinter.templateText$$anonfun$1(RefinedPrinter.scala:989)
at dotty.tools.dotc.printing.RefinedPrinter.withEnclosingDef(RefinedPrinter.scala:50)
at dotty.tools.dotc.printing.RefinedPrinter.templateText(RefinedPrinter.scala:989)
at dotty.tools.dotc.printing.RefinedPrinter.recur$1(RefinedPrinter.scala:596)
at dotty.tools.dotc.printing.RefinedPrinter.toTextCore(RefinedPrinter.scala:606)
at dotty.tools.dotc.printing.RefinedPrinter.toText$$anonfun$2(RefinedPrinter.scala:747)
at dotty.tools.dotc.printing.MessageLimiter.controlled(MessageLimiter.scala:23)
at dotty.tools.dotc.printing.PlainPrinter.controlled(PlainPrinter.scala:39)
at dotty.tools.dotc.printing.RefinedPrinter.toText(RefinedPrinter.scala:818)
at dotty.tools.dotc.ast.Trees$Tree.toText(Trees.scala:187)
at dotty.tools.dotc.printing.Printer.toText$$anonfun$1(Printer.scala:178)
at scala.collection.immutable.List.map(List.scala:250)
at scala.collection.immutable.List.map(List.scala:79)
at dotty.tools.dotc.printing.Printer.toText(Printer.scala:178)
at dotty.tools.dotc.printing.Printer.toTextGlobal$$anonfun$2(Printer.scala:186)
at dotty.tools.dotc.printing.Printer.atPrec(Printer.scala:43)
at dotty.tools.dotc.printing.Printer.toTextGlobal(Printer.scala:186)
at dotty.tools.dotc.printing.RefinedPrinter.packageDefText(RefinedPrinter.scala:1001)
at dotty.tools.dotc.printing.RefinedPrinter.toTextCore(RefinedPrinter.scala:616)
at dotty.tools.dotc.printing.RefinedPrinter.toText$$anonfun$2(RefinedPrinter.scala:747)
at dotty.tools.dotc.printing.MessageLimiter.controlled(MessageLimiter.scala:23)
at dotty.tools.dotc.printing.PlainPrinter.controlled(PlainPrinter.scala:39)
at dotty.tools.dotc.printing.RefinedPrinter.toText(RefinedPrinter.scala:818)
at dotty.tools.dotc.ast.Trees$Tree.toText(Trees.scala:187)
at dotty.tools.dotc.printing.Showable.show(Showable.scala:23)
at dotty.tools.dotc.printing.Showable.show$(Showable.scala:9)
at dotty.tools.dotc.ast.Trees$Tree.show(Trees.scala:49)
at dotty.tools.dotc.core.Phases$Phase.show(Phases.scala:333)
at dotty.tools.dotc.Run.printTree(Run.scala:314)
at dotty.tools.dotc.Run.runPhases$1$$anonfun$1$$anonfun$1(Run.scala:251)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.collection.immutable.List.foreach(List.scala:333)
at dotty.tools.dotc.Run.runPhases$1$$anonfun$1(Run.scala:251)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1321)
at dotty.tools.dotc.Run.runPhases$1(Run.scala:262)
at dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:270)
at dotty.tools.dotc.Run.compileUnits$$anonfun$adapted$1(Run.scala:279)
at dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:67)
at dotty.tools.dotc.Run.compileUnits(Run.scala:279)
at dotty.tools.dotc.Run.compileUnits(Run.scala:200)
at dotty.tools.dotc.Driver.finish(Driver.scala:58)
at dotty.tools.dotc.Driver.doCompile(Driver.scala:38)
at dotty.tools.dotc.Driver.process(Driver.scala:197)
at dotty.tools.dotc.Driver.process(Driver.scala:165)
at dotty.tools.dotc.Driver.process(Driver.scala:177)
at dotty.tools.dotc.Driver.main(Driver.scala:207)
at dotty.tools.dotc.Main.main(Main.scala)
Compilation failed