Skip to content

PostTyperTransformer.transformSelect assertion failure #566

Closed
@DarkDimius

Description

@DarkDimius
object Test {
  type T = String
  type U
  reflect.classTag[T]
}
checking classTags.scala after phase frontend
error while transforming reflect.classTag[Test.T]
error while transforming reflect.classTag[Test.T](classTag[String'])
error while transforming val b: scala.reflect.ClassTag[Test.T] =
  reflect.classTag[Test.T](classTag[String'])
error while transforming () extends Object() { this: Test.type =>
  type T = String
  type U
  val b: scala.reflect.ClassTag[Test.T] =
    reflect.classTag[Test.T](classTag[String'])
  def main(args: Array[String]): Unit = ()
}
error while transforming final module class Test$() extends Object() { this: Test.type =>
  type T = String
  type U
  val b: scala.reflect.ClassTag[Test.T] =
    reflect.classTag[Test.T](classTag[String'])
  def main(args: Array[String]): Unit = ()
}
error while transforming package <empty> {
  final lazy module val Test: Test$ = new Test$()
  final module class Test$() extends Object() { this: Test.type =>
    type T = String
    type U
    val b: scala.reflect.ClassTag[Test.T] =
      reflect.classTag[Test.T](classTag[String'])
    def main(args: Array[String]): Unit = ()
  }
}
exception occurred while compiling classTags.scala
Exception in thread "main" java.lang.AssertionError: assertion failed
    at scala.Predef$.assert(Predef.scala:151)
    at dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transformSelect(PostTyper.scala:111)
    at dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:129)
    at dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform(Trees.scala:1100)
    at dotty.tools.dotc.transform.MacroTransform$Transformer.transform(MacroTransform.scala:63)
    at dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:161)
    at dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform(Trees.scala:1159)
    at dotty.tools.dotc.transform.MacroTransform$Transformer.transform(MacroTransform.scala:55)
    at dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:147)
    at dotty.tools.dotc.transform.MacroTransform$Transformer.dotty$tools$dotc$transform$MacroTransform$Transformer$$transformStat$1(MacroTransform.scala:43)
    at dotty.tools.dotc.transform.MacroTransform$Transformer$$anonfun$transformStats$1.apply(MacroTransform.scala:47)
    at dotty.tools.dotc.transform.MacroTransform$Transformer$$anonfun$transformStats$1.apply(MacroTransform.scala:47)
    at dotty.tools.dotc.core.Decorators$ListDecorator$.loop$1(Decorators.scala:51)
    at dotty.tools.dotc.core.Decorators$ListDecorator$.mapconserve$extension(Decorators.scala:67)
    at dotty.tools.dotc.transform.MacroTransform$Transformer.transformStats(MacroTransform.scala:47)
    at dotty.tools.dotc.transform.MacroTransform$Transformer.transform(MacroTransform.scala:61)
    at dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.dotty$tools$dotc$transform$PostTyper$PostTyperTransformer$$super$transform(PostTyper.scala:140)
    at dotty.tools.dotc.transform.PostTyper$PostTyperTransformer$$anonfun$transform$2.apply(PostTyper.scala:140)
    at dotty.tools.dotc.transform.PostTyper$PostTyperTransformer$$anonfun$transform$2.apply(PostTyper.scala:140)
    at dotty.tools.dotc.transform.SuperAccessors.wrapTemplate(SuperAccessors.scala:411)
    at dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:139)
    at dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform(Trees.scala:1164)
    at dotty.tools.dotc.transform.MacroTransform$Transformer.transform(MacroTransform.scala:55)
    at dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:147)
    at dotty.tools.dotc.ast.Trees$Instance$TreeMap$$anonfun$transform$2.apply(Trees.scala:1181)
    at dotty.tools.dotc.ast.Trees$Instance$TreeMap$$anonfun$transform$2.apply(Trees.scala:1181)
    at scala.collection.immutable.List.loop$1(List.scala:173)
    at scala.collection.immutable.List.mapConserve(List.scala:189)
    at dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform(Trees.scala:1181)
    at dotty.tools.dotc.ast.Trees$Instance$TreeMap.transformStats(Trees.scala:1179)
    at dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform(Trees.scala:1170)
    at dotty.tools.dotc.transform.MacroTransform$Transformer.transform(MacroTransform.scala:55)
    at dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:161)
    at dotty.tools.dotc.transform.MacroTransform.run(MacroTransform.scala:22)
    at dotty.tools.dotc.core.Phases$Phase$$anonfun$runOn$1.apply(Phases.scala:270)
    at dotty.tools.dotc.core.Phases$Phase$$anonfun$runOn$1.apply(Phases.scala:268)
    at scala.collection.immutable.List.map(List.scala:273)
    at dotty.tools.dotc.core.Phases$Phase$class.runOn(Phases.scala:268)
    at dotty.tools.dotc.transform.MacroTransform.runOn(MacroTransform.scala:16)
    at dotty.tools.dotc.Run$$anonfun$compileUnits$1$$anonfun$apply$mcV$sp$1.apply(Run.scala:59)
    at dotty.tools.dotc.Run$$anonfun$compileUnits$1$$anonfun$apply$mcV$sp$1.apply(Run.scala:56)
    at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
    at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:186)
    at dotty.tools.dotc.Run$$anonfun$compileUnits$1.apply$mcV$sp(Run.scala:56)
    at dotty.tools.dotc.Run$$anonfun$compileUnits$1.apply(Run.scala:52)
    at dotty.tools.dotc.Run$$anonfun$compileUnits$1.apply(Run.scala:52)
    at dotty.tools.dotc.util.Stats$.monitorHeartBeat(Stats.scala:68)
    at dotty.tools.dotc.Run.compileUnits(Run.scala:52)
    at dotty.tools.dotc.Run.compileSources(Run.scala:49)
    at dotty.tools.dotc.Run.compile(Run.scala:33)
    at dotty.tools.dotc.Driver.doCompile(Driver.scala:20)
    at dotty.tools.dotc.Main$.doCompile(Main.scala:26)
    at dotty.tools.dotc.Driver.process(Driver.scala:31)
    at dotty.tools.dotc.Driver.main(Driver.scala:40)
    at dotty.tools.dotc.Main.main(Main.scala)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions