Closed
Description
object ByName {
val byNameContainer = {
def unwrap[ByName0[_]](f: ByName0[Unit] => Unit): { type ByName[A] = ByName0[A] } = {
new {
type ByName[A] = ByName0[A]
}
}
val f: (=> Unit) => Unit = { _ =>
()
}
unwrap(f)
}
}
$ scala -version
Scala code runner version 2.12.2 -- Copyright 2002-2017, LAMP/EPFL and Lightbend, Inc.
$ scalac -Xprint:typer ByName.scala
[[syntax trees at end of typer]] // ByName.scalaerror: java.util.NoSuchElementException: head of empty list
at scala.collection.immutable.Nil$.head(List.scala:428)
at scala.collection.immutable.Nil$.head(List.scala:425)
at scala.reflect.internal.Types$TypeRef.customToString(Types.scala:2364)
at scala.reflect.internal.Types$TypeRef.safeToString(Types.scala:2395)
at scala.reflect.internal.tpe.TypeToStrings.typeToString(TypeToStrings.scala:43)
at scala.reflect.internal.tpe.TypeToStrings.typeToString$(TypeToStrings.scala:22)
at scala.reflect.internal.SymbolTable.typeToString(SymbolTable.scala:16)
at scala.reflect.internal.Types$Type.toString(Types.scala:942)
at scala.reflect.internal.Printers$TreePrinter.printTree(Printers.scala:476)
at scala.tools.nsc.ast.Printers$TreePrinter.$anonfun$print$1(Printers.scala:33)
at scala.tools.nsc.ast.Printers$TreePrinter.$anonfun$print$1$adapted(Printers.scala:17)
at scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:32)
at scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:29)
at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:38)
at scala.tools.nsc.ast.Printers$TreePrinter.print(Printers.scala:17)
at scala.reflect.internal.Printers$TreePrinter.$anonfun$printRow$1(Printers.scala:106)
at scala.reflect.internal.Printers$TreePrinter.$anonfun$printRow$1$adapted(Printers.scala:106)
at scala.reflect.internal.Printers$TreePrinter.printSeq(Printers.scala:96)
at scala.reflect.internal.Printers$TreePrinter.printRow(Printers.scala:106)
at scala.reflect.internal.Printers$TreePrinter.printTree(Printers.scala:436)
at scala.tools.nsc.ast.Printers$TreePrinter.$anonfun$print$1(Printers.scala:33)
at scala.tools.nsc.ast.Printers$TreePrinter.$anonfun$print$1$adapted(Printers.scala:17)
at scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:32)
at scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:29)
at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:38)
at scala.tools.nsc.ast.Printers$TreePrinter.print(Printers.scala:17)
at scala.reflect.internal.Printers$TreePrinter.printTree(Printers.scala:439)
at scala.tools.nsc.ast.Printers$TreePrinter.$anonfun$print$1(Printers.scala:33)
at scala.tools.nsc.ast.Printers$TreePrinter.$anonfun$print$1$adapted(Printers.scala:17)
at scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:32)
at scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:29)
at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:38)
at scala.tools.nsc.ast.Printers$TreePrinter.print(Printers.scala:17)
at scala.reflect.internal.Printers$TreePrinter.$anonfun$printColumn$1(Printers.scala:102)
at scala.reflect.internal.Printers$TreePrinter.$anonfun$printColumn$1$adapted(Printers.scala:102)
at scala.reflect.internal.Printers$TreePrinter.printSeq(Printers.scala:96)
at scala.reflect.internal.Printers$TreePrinter.printSeq(Printers.scala:97)
at scala.reflect.internal.Printers$TreePrinter.printSeq(Printers.scala:97)
at scala.reflect.internal.Printers$TreePrinter.printColumn(Printers.scala:102)
at scala.reflect.internal.Printers$TreePrinter.printBlock(Printers.scala:315)
at scala.reflect.internal.Printers$TreePrinter.printTree(Printers.scala:376)
at scala.tools.nsc.ast.Printers$TreePrinter.$anonfun$print$1(Printers.scala:33)
at scala.tools.nsc.ast.Printers$TreePrinter.$anonfun$print$1$adapted(Printers.scala:17)
at scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:32)
at scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:29)
at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:38)
at scala.tools.nsc.ast.Printers$TreePrinter.print(Printers.scala:17)
at scala.reflect.internal.Printers$TreePrinter.$anonfun$printTree$4(Printers.scala:344)
at scala.reflect.internal.Printers$TreePrinter.printValDef(Printers.scala:220)
at scala.reflect.internal.Printers$TreePrinter.printTree(Printers.scala:344)
at scala.tools.nsc.ast.Printers$TreePrinter.$anonfun$print$1(Printers.scala:33)
at scala.tools.nsc.ast.Printers$TreePrinter.$anonfun$print$1$adapted(Printers.scala:17)
at scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:32)
at scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:29)
at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:38)
at scala.tools.nsc.ast.Printers$TreePrinter.print(Printers.scala:17)
at scala.reflect.internal.Printers$TreePrinter.$anonfun$printColumn$1(Printers.scala:102)
at scala.reflect.internal.Printers$TreePrinter.$anonfun$printColumn$1$adapted(Printers.scala:102)
at scala.reflect.internal.Printers$TreePrinter.printSeq(Printers.scala:97)
at scala.reflect.internal.Printers$TreePrinter.printSeq(Printers.scala:97)
at scala.reflect.internal.Printers$TreePrinter.printColumn(Printers.scala:102)
at scala.reflect.internal.Printers$TreePrinter.printTree(Printers.scala:371)
at scala.tools.nsc.ast.Printers$TreePrinter.$anonfun$print$1(Printers.scala:33)
at scala.tools.nsc.ast.Printers$TreePrinter.$anonfun$print$1$adapted(Printers.scala:17)
at scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:32)
at scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:29)
at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:38)
at scala.tools.nsc.ast.Printers$TreePrinter.print(Printers.scala:17)
at scala.reflect.internal.Printers$TreePrinter.printTree(Printers.scala:340)
at scala.tools.nsc.ast.Printers$TreePrinter.$anonfun$print$1(Printers.scala:33)
at scala.tools.nsc.ast.Printers$TreePrinter.$anonfun$print$1$adapted(Printers.scala:17)
at scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:32)
at scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:29)
at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:38)
at scala.tools.nsc.ast.Printers$TreePrinter.print(Printers.scala:17)
at scala.reflect.internal.Printers$TreePrinter.$anonfun$printColumn$1(Printers.scala:102)
at scala.reflect.internal.Printers$TreePrinter.$anonfun$printColumn$1$adapted(Printers.scala:102)
at scala.reflect.internal.Printers$TreePrinter.printSeq(Printers.scala:96)
at scala.reflect.internal.Printers$TreePrinter.printColumn(Printers.scala:102)
at scala.reflect.internal.Printers$TreePrinter.printPackageDef(Printers.scala:211)
at scala.reflect.internal.Printers$TreePrinter.printTree(Printers.scala:335)
at scala.tools.nsc.ast.Printers$TreePrinter.$anonfun$print$1(Printers.scala:33)
at scala.tools.nsc.ast.Printers$TreePrinter.$anonfun$print$1$adapted(Printers.scala:17)
at scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:32)
at scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:29)
at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:38)
at scala.tools.nsc.ast.Printers$TreePrinter.print(Printers.scala:17)
at scala.tools.nsc.Global$nodePrinters$.$anonfun$showUnit$1(Global.scala:175)
at scala.tools.nsc.Global$nodePrinters$.showUnit(Global.scala:175)
at scala.tools.nsc.Global.$anonfun$printAllUnits$2(Global.scala:1546)
at scala.tools.nsc.Global.$anonfun$printAllUnits$2$adapted(Global.scala:1545)
at scala.collection.Iterator.foreach(Iterator.scala:929)
at scala.collection.Iterator.foreach$(Iterator.scala:929)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1417)
at scala.tools.nsc.Global.$anonfun$printAllUnits$1(Global.scala:1545)
at scala.tools.nsc.Global.printAllUnits(Global.scala:1545)
at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1434)
at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1412)
at scala.tools.nsc.Global$Run.compileSources(Global.scala:1407)
at scala.tools.nsc.Global$Run.compile(Global.scala:1501)
at scala.tools.nsc.MainClass.doCompile(Main.scala:24)
at scala.tools.nsc.Driver.process(Driver.scala:55)
at scala.tools.nsc.Driver.main(Driver.scala:68)
at scala.tools.nsc.Main.main(Main.scala)
Exception in thread "main" java.util.NoSuchElementException: head of empty list
at scala.collection.immutable.Nil$.head(List.scala:428)
at scala.collection.immutable.Nil$.head(List.scala:425)
at scala.reflect.internal.Types$TypeRef.customToString(Types.scala:2364)
at scala.reflect.internal.Types$TypeRef.safeToString(Types.scala:2395)
at scala.reflect.internal.tpe.TypeToStrings.typeToString(TypeToStrings.scala:43)
at scala.reflect.internal.tpe.TypeToStrings.typeToString$(TypeToStrings.scala:22)
at scala.reflect.internal.SymbolTable.typeToString(SymbolTable.scala:16)
at scala.reflect.internal.Types$Type.toString(Types.scala:942)
at scala.reflect.internal.Printers$TreePrinter.printTree(Printers.scala:476)
at scala.tools.nsc.ast.Printers$TreePrinter.$anonfun$print$1(Printers.scala:33)
at scala.tools.nsc.ast.Printers$TreePrinter.$anonfun$print$1$adapted(Printers.scala:17)
at scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:32)
at scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:29)
at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:38)
at scala.tools.nsc.ast.Printers$TreePrinter.print(Printers.scala:17)
at scala.reflect.internal.Printers$TreePrinter.$anonfun$printRow$1(Printers.scala:106)
at scala.reflect.internal.Printers$TreePrinter.$anonfun$printRow$1$adapted(Printers.scala:106)
at scala.reflect.internal.Printers$TreePrinter.printSeq(Printers.scala:96)
at scala.reflect.internal.Printers$TreePrinter.printRow(Printers.scala:106)
at scala.reflect.internal.Printers$TreePrinter.printTree(Printers.scala:436)
at scala.tools.nsc.ast.Printers$TreePrinter.$anonfun$print$1(Printers.scala:33)
at scala.tools.nsc.ast.Printers$TreePrinter.$anonfun$print$1$adapted(Printers.scala:17)
at scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:32)
at scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:29)
at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:38)
at scala.tools.nsc.ast.Printers$TreePrinter.print(Printers.scala:17)
at scala.reflect.internal.Printers$TreePrinter.printTree(Printers.scala:439)
at scala.tools.nsc.ast.Printers$TreePrinter.$anonfun$print$1(Printers.scala:33)
at scala.tools.nsc.ast.Printers$TreePrinter.$anonfun$print$1$adapted(Printers.scala:17)
at scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:32)
at scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:29)
at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:38)
at scala.tools.nsc.ast.Printers$TreePrinter.print(Printers.scala:17)
at scala.reflect.internal.Printers$TreePrinter.$anonfun$printColumn$1(Printers.scala:102)
at scala.reflect.internal.Printers$TreePrinter.$anonfun$printColumn$1$adapted(Printers.scala:102)
at scala.reflect.internal.Printers$TreePrinter.printSeq(Printers.scala:96)
at scala.reflect.internal.Printers$TreePrinter.printSeq(Printers.scala:97)
at scala.reflect.internal.Printers$TreePrinter.printSeq(Printers.scala:97)
at scala.reflect.internal.Printers$TreePrinter.printColumn(Printers.scala:102)
at scala.reflect.internal.Printers$TreePrinter.printBlock(Printers.scala:315)
at scala.reflect.internal.Printers$TreePrinter.printTree(Printers.scala:376)
at scala.tools.nsc.ast.Printers$TreePrinter.$anonfun$print$1(Printers.scala:33)
at scala.tools.nsc.ast.Printers$TreePrinter.$anonfun$print$1$adapted(Printers.scala:17)
at scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:32)
at scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:29)
at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:38)
at scala.tools.nsc.ast.Printers$TreePrinter.print(Printers.scala:17)
at scala.reflect.internal.Printers$TreePrinter.$anonfun$printTree$4(Printers.scala:344)
at scala.reflect.internal.Printers$TreePrinter.printValDef(Printers.scala:220)
at scala.reflect.internal.Printers$TreePrinter.printTree(Printers.scala:344)
at scala.tools.nsc.ast.Printers$TreePrinter.$anonfun$print$1(Printers.scala:33)
at scala.tools.nsc.ast.Printers$TreePrinter.$anonfun$print$1$adapted(Printers.scala:17)
at scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:32)
at scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:29)
at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:38)
at scala.tools.nsc.ast.Printers$TreePrinter.print(Printers.scala:17)
at scala.reflect.internal.Printers$TreePrinter.$anonfun$printColumn$1(Printers.scala:102)
at scala.reflect.internal.Printers$TreePrinter.$anonfun$printColumn$1$adapted(Printers.scala:102)
at scala.reflect.internal.Printers$TreePrinter.printSeq(Printers.scala:97)
at scala.reflect.internal.Printers$TreePrinter.printSeq(Printers.scala:97)
at scala.reflect.internal.Printers$TreePrinter.printColumn(Printers.scala:102)
at scala.reflect.internal.Printers$TreePrinter.printTree(Printers.scala:371)
at scala.tools.nsc.ast.Printers$TreePrinter.$anonfun$print$1(Printers.scala:33)
at scala.tools.nsc.ast.Printers$TreePrinter.$anonfun$print$1$adapted(Printers.scala:17)
at scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:32)
at scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:29)
at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:38)
at scala.tools.nsc.ast.Printers$TreePrinter.print(Printers.scala:17)
at scala.reflect.internal.Printers$TreePrinter.printTree(Printers.scala:340)
at scala.tools.nsc.ast.Printers$TreePrinter.$anonfun$print$1(Printers.scala:33)
at scala.tools.nsc.ast.Printers$TreePrinter.$anonfun$print$1$adapted(Printers.scala:17)
at scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:32)
at scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:29)
at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:38)
at scala.tools.nsc.ast.Printers$TreePrinter.print(Printers.scala:17)
at scala.reflect.internal.Printers$TreePrinter.$anonfun$printColumn$1(Printers.scala:102)
at scala.reflect.internal.Printers$TreePrinter.$anonfun$printColumn$1$adapted(Printers.scala:102)
at scala.reflect.internal.Printers$TreePrinter.printSeq(Printers.scala:96)
at scala.reflect.internal.Printers$TreePrinter.printColumn(Printers.scala:102)
at scala.reflect.internal.Printers$TreePrinter.printPackageDef(Printers.scala:211)
at scala.reflect.internal.Printers$TreePrinter.printTree(Printers.scala:335)
at scala.tools.nsc.ast.Printers$TreePrinter.$anonfun$print$1(Printers.scala:33)
at scala.tools.nsc.ast.Printers$TreePrinter.$anonfun$print$1$adapted(Printers.scala:17)
at scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:32)
at scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:29)
at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:38)
at scala.tools.nsc.ast.Printers$TreePrinter.print(Printers.scala:17)
at scala.tools.nsc.Global$nodePrinters$.$anonfun$showUnit$1(Global.scala:175)
at scala.tools.nsc.Global$nodePrinters$.showUnit(Global.scala:175)
at scala.tools.nsc.Global.$anonfun$printAllUnits$2(Global.scala:1546)
at scala.tools.nsc.Global.$anonfun$printAllUnits$2$adapted(Global.scala:1545)
at scala.collection.Iterator.foreach(Iterator.scala:929)
at scala.collection.Iterator.foreach$(Iterator.scala:929)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1417)
at scala.tools.nsc.Global.$anonfun$printAllUnits$1(Global.scala:1545)
at scala.tools.nsc.Global.printAllUnits(Global.scala:1545)
at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1434)
at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1412)
at scala.tools.nsc.Global$Run.compileSources(Global.scala:1407)
at scala.tools.nsc.Global$Run.compile(Global.scala:1501)
at scala.tools.nsc.MainClass.doCompile(Main.scala:24)
at scala.tools.nsc.Driver.process(Driver.scala:55)
at scala.tools.nsc.Driver.main(Driver.scala:68)
at scala.tools.nsc.Main.main(Main.scala)