Open
Description
Compiler version
3.1.2-RC1-bin-20220105-b4d0334-NIGHTLY
I actually encountered #13919 first, which is why I switched to the nightly build.
Minimized code
package progabs
import scala.quoted.*
import scala.tasty.inspector.*
object Main extends App:
val tastyFiles = List("target/scala-3.1.2-RC1-bin-20220105-b4d0334-NIGHTLY/classes/Test.tasty")
TastyInspector.inspectTastyFiles(tastyFiles)(new MyInspector)
class MyInspector extends Inspector:
def inspect(using Quotes)(tastys: List[Tasty[quotes.type]]): Unit =
import quotes.reflect.*
for tasty <- tastys do
Type.of[() => Int] match
case '[() => b] => Type.of[b]
Output (click arrow to expand)
[error] (run-main-12) java.lang.ExceptionInInitializerError
[error] java.lang.ExceptionInInitializerError
[error] at progabs.Main.main(Main2.scala)
[error] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[error] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[error] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[error] at java.lang.reflect.Method.invoke(Method.java:498)
[error] Caused by: java.lang.NullPointerException
[error] at dotty.tools.dotc.core.NameKinds$UniqueNameKind.fresh(NameKinds.scala:222)
[error] at dotty.tools.dotc.core.NameKinds$UniqueNameKind.fresh(NameKinds.scala:226)
[error] at dotty.tools.dotc.core.ProperGadtConstraint.$anonfun$1(GadtConstraint.scala:93)
[error] at scala.collection.immutable.List.map(List.scala:246)
[error] at dotty.tools.dotc.core.ProperGadtConstraint.addToConstraint(GadtConstraint.scala:93)
[error] at scala.quoted.runtime.impl.QuotesImpl.scala$quoted$runtime$impl$QuotesImpl$$treeMatch(QuotesImpl.scala:3047)
[error] at scala.quoted.runtime.impl.QuotesImpl$TypeMatch$.unapply(QuotesImpl.scala:3020)
[error] at progabs.MyInspector.inspect$$anonfun$1(Main.scala:21)
[error] at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
[error] at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
[error] at scala.collection.immutable.List.foreach(List.scala:333)
[error] at progabs.MyInspector.inspect(Main.scala:22)
[error] at scala.tasty.inspector.TastyInspector$TastyInspectorPhase$1.runOnImpl(TastyInspector.scala:78)
[error] at scala.tasty.inspector.TastyInspector$TastyInspectorPhase$1.runOn(TastyInspector.scala:70)
[error] at dotty.tools.dotc.Run.runPhases$1$$anonfun$1(Run.scala:259)
[error] at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
[error] at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
[error] at scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1323)
[error] at dotty.tools.dotc.Run.runPhases$1(Run.scala:270)
[error] at dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:278)
[error] at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
[error] at dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:68)
[error] at dotty.tools.dotc.Run.compileUnits(Run.scala:287)
[error] at dotty.tools.dotc.Run.compileUnits(Run.scala:226)
[error] at dotty.tools.dotc.fromtasty.TASTYRun.compile(TASTYRun.scala:12)
[error] at dotty.tools.dotc.Driver.doCompile(Driver.scala:39)
[error] at dotty.tools.dotc.Driver.process(Driver.scala:199)
[error] at dotty.tools.dotc.Driver.process(Driver.scala:167)
[error] at dotty.tools.dotc.Driver.process(Driver.scala:179)
[error] at scala.tasty.inspector.TastyInspector$.inspectFiles(TastyInspector.scala:117)
[error] at scala.tasty.inspector.TastyInspector$.inspectAllTastyFiles(TastyInspector.scala:59)
[error] at scala.tasty.inspector.TastyInspector$.inspectTastyFiles(TastyInspector.scala:30)
[error] at progabs.Main$.<clinit>(Main2.scala:9)
[error] at progabs.Main.main(Main2.scala)
[error] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[error] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[error] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[error] at java.lang.reflect.Method.invoke(Method.java:498)