Closed
Description
Compiler version
3.0.0-RC1
Minimized code
class A {
object B { b =>
}
}
compiled with -Xprint-types -Ytest-pickler
Output (click arrow to expand)
Exception in thread "main" scala.MatchError: ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class <root>)),module class <empty>)),class A)),module class B$)) (of class dotty.tools.dotc.core.Types$CachedThisType)
at dotty.tools.dotc.core.SymDenotations$SymDenotation.sourceOfSelf$1(SymDenotations.scala:1019)
at dotty.tools.dotc.core.SymDenotations$SymDenotation.sourceModule(SymDenotations.scala:1021)
at dotty.tools.dotc.printing.RefinedPrinter.toTextRef$$anonfun$1(RefinedPrinter.scala:99)
at dotty.tools.dotc.printing.MessageLimiter.controlled(MessageLimiter.scala:23)
at dotty.tools.dotc.printing.PlainPrinter.controlled(PlainPrinter.scala:36)
at dotty.tools.dotc.printing.RefinedPrinter.toTextRef(RefinedPrinter.scala:104)
at dotty.tools.dotc.printing.PlainPrinter.toTextSingleton(PlainPrinter.scala:251)
at dotty.tools.dotc.printing.PlainPrinter.toText$$anonfun$1(PlainPrinter.scala:161)
at dotty.tools.dotc.printing.MessageLimiter.controlled(MessageLimiter.scala:23)
at dotty.tools.dotc.printing.PlainPrinter.controlled(PlainPrinter.scala:36)
at dotty.tools.dotc.printing.PlainPrinter.toText(PlainPrinter.scala:248)
at dotty.tools.dotc.printing.RefinedPrinter.toText$$anonfun$1(RefinedPrinter.scala:266)
at dotty.tools.dotc.printing.MessageLimiter.controlled(MessageLimiter.scala:23)
at dotty.tools.dotc.printing.PlainPrinter.controlled(PlainPrinter.scala:36)
at dotty.tools.dotc.printing.RefinedPrinter.toText(RefinedPrinter.scala:268)
at dotty.tools.dotc.printing.RefinedPrinter.toText$$anonfun$2(RefinedPrinter.scala:720)
at dotty.tools.dotc.printing.MessageLimiter.controlled(MessageLimiter.scala:23)
at dotty.tools.dotc.printing.PlainPrinter.controlled(PlainPrinter.scala:36)
at dotty.tools.dotc.printing.RefinedPrinter.toText(RefinedPrinter.scala:745)
at dotty.tools.dotc.ast.Trees$Tree.toText(Trees.scala:197)
at dotty.tools.dotc.printing.Printer.toTextLocal$$anonfun$1(Printer.scala:155)
at dotty.tools.dotc.printing.Printer.atPrec(Printer.scala:42)
at dotty.tools.dotc.printing.Printer.toTextLocal(Printer.scala:155)
at dotty.tools.dotc.printing.RefinedPrinter.toTextCore(RefinedPrinter.scala:494)
at dotty.tools.dotc.printing.RefinedPrinter.toText$$anonfun$2(RefinedPrinter.scala:674)
at dotty.tools.dotc.printing.MessageLimiter.controlled(MessageLimiter.scala:23)
at dotty.tools.dotc.printing.PlainPrinter.controlled(PlainPrinter.scala:36)
at dotty.tools.dotc.printing.RefinedPrinter.toText(RefinedPrinter.scala:745)
at dotty.tools.dotc.printing.RefinedPrinter.optText(RefinedPrinter.scala:941)
at dotty.tools.dotc.printing.RefinedPrinter.$anonfun$8(RefinedPrinter.scala:867)
at dotty.tools.dotc.printing.Texts$Text$.provided(Texts.scala:172)
at dotty.tools.dotc.printing.RefinedPrinter.toTextTemplate(RefinedPrinter.scala:868)
at dotty.tools.dotc.printing.RefinedPrinter.templateText$$anonfun$1(RefinedPrinter.scala:892)
at dotty.tools.dotc.printing.RefinedPrinter.withEnclosingDef(RefinedPrinter.scala:47)
at dotty.tools.dotc.printing.RefinedPrinter.templateText(RefinedPrinter.scala:892)
at dotty.tools.dotc.printing.RefinedPrinter.recur$1(RefinedPrinter.scala:551)
at dotty.tools.dotc.printing.RefinedPrinter.toTextCore(RefinedPrinter.scala:561)
at dotty.tools.dotc.printing.RefinedPrinter.toText$$anonfun$2(RefinedPrinter.scala:674)
at dotty.tools.dotc.printing.MessageLimiter.controlled(MessageLimiter.scala:23)
at dotty.tools.dotc.printing.PlainPrinter.controlled(PlainPrinter.scala:36)
at dotty.tools.dotc.printing.RefinedPrinter.toText(RefinedPrinter.scala:745)
at dotty.tools.dotc.ast.Trees$Tree.toText(Trees.scala:197)
at dotty.tools.dotc.printing.Printer.toText$$anonfun$1(Printer.scala:163)
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:163)
at dotty.tools.dotc.printing.Printer.toTextGlobal$$anonfun$2(Printer.scala:171)
at dotty.tools.dotc.printing.Printer.atPrec(Printer.scala:42)
at dotty.tools.dotc.printing.Printer.toTextGlobal(Printer.scala:171)
at dotty.tools.dotc.printing.RefinedPrinter.toTextTemplate(RefinedPrinter.scala:881)
at dotty.tools.dotc.printing.RefinedPrinter.templateText$$anonfun$1(RefinedPrinter.scala:892)
at dotty.tools.dotc.printing.RefinedPrinter.withEnclosingDef(RefinedPrinter.scala:47)
at dotty.tools.dotc.printing.RefinedPrinter.templateText(RefinedPrinter.scala:892)
at dotty.tools.dotc.printing.RefinedPrinter.recur$1(RefinedPrinter.scala:551)
at dotty.tools.dotc.printing.RefinedPrinter.toTextCore(RefinedPrinter.scala:561)
at dotty.tools.dotc.printing.RefinedPrinter.toText$$anonfun$2(RefinedPrinter.scala:674)
at dotty.tools.dotc.printing.MessageLimiter.controlled(MessageLimiter.scala:23)
at dotty.tools.dotc.printing.PlainPrinter.controlled(PlainPrinter.scala:36)
at dotty.tools.dotc.printing.RefinedPrinter.toText(RefinedPrinter.scala:745)
at dotty.tools.dotc.ast.Trees$Tree.toText(Trees.scala:197)
at dotty.tools.dotc.printing.Printer.toText$$anonfun$1(Printer.scala:163)
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:163)
at dotty.tools.dotc.printing.Printer.toTextGlobal$$anonfun$2(Printer.scala:171)
at dotty.tools.dotc.printing.Printer.atPrec(Printer.scala:42)
at dotty.tools.dotc.printing.Printer.toTextGlobal(Printer.scala:171)
at dotty.tools.dotc.printing.RefinedPrinter.packageDefText(RefinedPrinter.scala:904)
at dotty.tools.dotc.printing.RefinedPrinter.toTextCore(RefinedPrinter.scala:570)
at dotty.tools.dotc.printing.RefinedPrinter.toText$$anonfun$2(RefinedPrinter.scala:674)
at dotty.tools.dotc.printing.MessageLimiter.controlled(MessageLimiter.scala:23)
at dotty.tools.dotc.printing.PlainPrinter.controlled(PlainPrinter.scala:36)
at dotty.tools.dotc.printing.RefinedPrinter.toText(RefinedPrinter.scala:745)
at dotty.tools.dotc.ast.Trees$Tree.toText(Trees.scala:197)
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:56)
at dotty.tools.dotc.printing.Formatting$StringFormatter.showArg(Formatting.scala:28)
at dotty.tools.dotc.printing.Formatting$StringFormatter.treatArg$$anonfun$1(Formatting.scala:46)
at scala.collection.immutable.List.map(List.scala:246)
at scala.collection.immutable.List.map(List.scala:79)
at dotty.tools.dotc.printing.Formatting$StringFormatter.treatArg(Formatting.scala:46)
at dotty.tools.dotc.printing.Formatting$StringFormatter.$anonfun$2(Formatting.scala:62)
at scala.collection.LazyZip2$$anon$1$$anon$2.next(LazyZipOps.scala:42)
at scala.collection.mutable.Growable.addAll(Growable.scala:65)
at scala.collection.mutable.Growable.addAll$(Growable.scala:60)
at scala.collection.mutable.ArrayBuilder.addAll(ArrayBuilder.scala:66)
at scala.collection.IterableOnceOps.toArray(IterableOnce.scala:1282)
at scala.collection.IterableOnceOps.toArray$(IterableOnce.scala:1276)
at scala.collection.AbstractIterable.toArray(Iterable.scala:919)
at scala.Array$.from(Array.scala:72)
at scala.collection.immutable.ArraySeq$.from(ArraySeq.scala:274)
at scala.collection.immutable.ArraySeq$.from(ArraySeq.scala:265)
at scala.collection.ClassTagIterableFactory$AnyIterableDelegate.from(Factory.scala:671)
at scala.collection.BuildFromLowPriority2$$anon$11.fromSpecific(BuildFrom.scala:112)
at scala.collection.BuildFromLowPriority2$$anon$11.fromSpecific(BuildFrom.scala:109)
at scala.collection.LazyZip2.map(LazyZipOps.scala:37)
at dotty.tools.dotc.printing.Formatting$StringFormatter.assemble(Formatting.scala:62)
at dotty.tools.dotc.core.Decorators$.i(Decorators.scala:263)
at dotty.tools.dotc.transform.Pickler.testUnpickler$$anonfun$2(Pickler.scala:135)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:563)
at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:561)
at scala.collection.AbstractIterable.foreach(Iterable.scala:919)
at scala.collection.IterableOps$WithFilter.foreach(Iterable.scala:889)
at dotty.tools.dotc.transform.Pickler.testUnpickler(Pickler.scala:136)
at dotty.tools.dotc.transform.Pickler.runOn(Pickler.scala:119)
at dotty.tools.dotc.Run.runPhases$4$$anonfun$4(Run.scala:205)
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:1323)
at dotty.tools.dotc.Run.runPhases$5(Run.scala:215)
at dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:223)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:67)
at dotty.tools.dotc.Run.compileUnits(Run.scala:230)
at dotty.tools.dotc.Run.compileSources(Run.scala:166)
at dotty.tools.dotc.Run.compile(Run.scala:150)
at dotty.tools.dotc.Driver.doCompile(Driver.scala:39)
at dotty.tools.dotc.Driver.process(Driver.scala:186)
at dotty.tools.dotc.Driver.process(Driver.scala:155)
at dotty.tools.dotc.Driver.process(Driver.scala:167)
at dotty.tools.dotc.Driver.main(Driver.scala:194)
at dotty.tools.dotc.Main.main(Main.scala)
There are no errors when there's no self alias
class A {
object B {
}
}
or if the inner object is nested in another object instead of a class
object A {
object B { b =>
}
}