{"action":"created","issue":{"url":"https://api.github.com/repos/scala-js/scala-js/issues/1581","labels_url":"https://api.github.com/repos/scala-js/scala-js/issues/1581/labels{/name}","comments_url":"https://api.github.com/repos/scala-js/scala-js/issues/1581/comments","events_url":"https://api.github.com/repos/scala-js/scala-js/issues/1581/events","html_url":"https://github.com/scala-js/scala-js/issues/1581","id":66276071,"number":1581,"title":"Compiler crash with Shapeless 2.10","user":{"login":"japgolly","id":202935,"avatar_url":"https://avatars.githubusercontent.com/u/202935?v=3","gravatar_id":"","url":"https://api.github.com/users/japgolly","html_url":"https://github.com/japgolly","followers_url":"https://api.github.com/users/japgolly/followers","following_url":"https://api.github.com/users/japgolly/following{/other_user}","gists_url":"https://api.github.com/users/japgolly/gists{/gist_id}","starred_url":"https://api.github.com/users/japgolly/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/japgolly/subscriptions","organizations_url":"https://api.github.com/users/japgolly/orgs","repos_url":"https://api.github.com/users/japgolly/repos","events_url":"https://api.github.com/users/japgolly/events{/privacy}","received_events_url":"https://api.github.com/users/japgolly/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/scala-js/scala-js/labels/bug","name":"bug","color":"fc2929"}],"state":"open","locked":false,"assignee":{"login":"sjrd","id":535934,"avatar_url":"https://avatars.githubusercontent.com/u/535934?v=3","gravatar_id":"","url":"https://api.github.com/users/sjrd","html_url":"https://github.com/sjrd","followers_url":"https://api.github.com/users/sjrd/followers","following_url":"https://api.github.com/users/sjrd/following{/other_user}","gists_url":"https://api.github.com/users/sjrd/gists{/gist_id}","starred_url":"https://api.github.com/users/sjrd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sjrd/subscriptions","organizations_url":"https://api.github.com/users/sjrd/orgs","repos_url":"https://api.github.com/users/sjrd/repos","events_url":"https://api.github.com/users/sjrd/events{/privacy}","received_events_url":"https://api.github.com/users/sjrd/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/scala-js/scala-js/milestones/29","html_url":"https://github.com/scala-js/scala-js/milestones/v0.6.3","labels_url":"https://api.github.com/repos/scala-js/scala-js/milestones/29/labels","id":1023204,"number":29,"title":"v0.6.3","description":"","creator":{"login":"sjrd","id":535934,"avatar_url":"https://avatars.githubusercontent.com/u/535934?v=3","gravatar_id":"","url":"https://api.github.com/users/sjrd","html_url":"https://github.com/sjrd","followers_url":"https://api.github.com/users/sjrd/followers","following_url":"https://api.github.com/users/sjrd/following{/other_user}","gists_url":"https://api.github.com/users/sjrd/gists{/gist_id}","starred_url":"https://api.github.com/users/sjrd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sjrd/subscriptions","organizations_url":"https://api.github.com/users/sjrd/orgs","repos_url":"https://api.github.com/users/sjrd/repos","events_url":"https://api.github.com/users/sjrd/events{/privacy}","received_events_url":"https://api.github.com/users/sjrd/received_events","type":"User","site_admin":false},"open_issues":18,"closed_issues":5,"state":"open","created_at":"2015-03-16T12:20:21Z","updated_at":"2015-04-04T08:32:26Z","due_on":null,"closed_at":null},"comments":7,"created_at":"2015-04-04T04:50:54Z","updated_at":"2015-04-04T12:54:53Z","closed_at":null,"body":"Trying to build [Shapeless 2.10](https://github.com/milessabin/shapeless/tree/scalajs-2.10.x), the main module `core` compiles fine but the `examples` module crashes the compiler.\r\n\r\nYou can see the whole log here in Travis:\r\nhttps://travis-ci.org/milessabin/shapeless/jobs/57126130\r\n\r\nCrashy bit is:\r\n```\r\n[error]      while compiling: /home/golly/projects/contrib/shapeless/examples/src/main/scala/shapeless/examples/shows.scala\r\n[error]         during phase: jscode\r\n[error]      library version: version 2.10.5\r\n[error]     compiler version: version 2.10.5\r\n[error]   reconstructed args: -language:higherKinds -language:implicitConversions -deprecation -feature -classpath /home/golly/projects/contrib/shapeless/examples/target/scala-2.10/classes:/home/golly/projects/contrib/shapeless/core/target/scala-2.10/classes:/home/golly/.ivy2/cache/org.scala-js/scalajs-library_2.10/jars/scalajs-library_2.10-0.6.2.jar:/home/golly/.ivy2/cache/org.scalamacros/quasiquotes_2.10/jars/quasiquotes_2.10-2.0.0.jar:/home/golly/.ivy2/cache/org.scala-lang/scala-compiler/jars/scala-compiler-2.10.5.jar:/home/golly/.ivy2/cache/org.scala-lang/scala-reflect/jars/scala-reflect-2.10.5.jar -P:scalajs:mapSourceURI:file:/home/golly/projects/contrib/shapeless/->https://raw.githubusercontent.com/milessabin/shapeless/shapeless-2.2.0-RC3/ -Xfatal-warnings -Yfundep-materialization -Xplugin:/home/golly/.ivy2/cache/org.scala-js/scalajs-compiler_2.10.5/jars/scalajs-compiler_2.10.5-0.6.2.jar -Xplugin:/home/golly/.ivy2/cache/org.scalamacros/paradise_2.10.5/jars/paradise_2.10.5-2.0.1.jar -unchecked -bootclasspath /usr/lib/jvm/java-8-jdk/jre/lib/resources.jar:/usr/lib/jvm/java-8-jdk/jre/lib/rt.jar:/usr/lib/jvm/java-8-jdk/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-8-jdk/jre/lib/jsse.jar:/usr/lib/jvm/java-8-jdk/jre/lib/jce.jar:/usr/lib/jvm/java-8-jdk/jre/lib/charsets.jar:/usr/lib/jvm/java-8-jdk/jre/lib/jfr.jar:/usr/lib/jvm/java-8-jdk/jre/classes:/home/golly/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.10.5.jar\r\n[error] \r\n[error]   last tree to typer: TypeTree(class Long)\r\n[error]               symbol: class Long in package scala (flags: final abstract)\r\n[error]    symbol definition: final abstract class Long extends \r\n[error]                  tpe: Long\r\n[error]        symbol owners: class Long -> package scala\r\n[error]       context owners: class ZipperExamples$delayedInit$body -> package examples\r\n[error] \r\n[error] == Enclosing template or block ==\r\n[error] \r\n[error] Template( // val <local delayedInit$body>: <notype> in class ZipperExamples$delayedInit$body, tree.tpe=shapeless.examples.ZipperExamples$delayedInit$body\r\n[error]   \"scala.runtime.AbstractFunction0\" // parents\r\n[error]   ValDef(\r\n[error]     private\r\n[error]     \"_\"\r\n[error]     <tpt>\r\n[error]     <empty>\r\n[error]   )\r\n[error]   // 3 statements\r\n[error]   ValDef( // private[this] val $outer: shapeless.examples.ZipperExamples.type in class ZipperExamples$delayedInit$body\r\n[error]     private <local> <paramaccessor> <triedcooking>\r\n[error]     \"$outer\"\r\n[error]     <tpt> // tree.tpe=shapeless.examples.ZipperExamples.type\r\n[error]     <empty>\r\n[error]   )\r\n[error]   DefDef( // final def apply(): Object in class ZipperExamples$delayedInit$body\r\n[error]     <method> final\r\n[error]     \"apply\"\r\n[error]     []\r\n[error]     List(Nil)\r\n[error]     <tpt> // tree.tpe=Object\r\n[error]     Block( // tree.tpe=runtime.BoxedUnit\r\n[error]       // 32 statements\r\n[error]       Apply( // private[object ZipperExamples] def dept_=(x$1: shapeless.examples.ZipperExamples$Dept): Unit in object ZipperExamples, tree.tpe=Unit\r\n[error]         ZipperExamples$delayedInit$body.this.\"$outer\".\"dept_$eq\" // private[object ZipperExamples] def dept_=(x$1: shapeless.examples.ZipperExamples$Dept): Unit in object ZipperExamples, tree.tpe=(x$1: shapeless.examples.ZipperExamples$Dept)Unit\r\n[error]         Apply( // def <init>(manager: shapeless.examples.ZipperExamples$Employee,employees: shapeless.HList): shapeless.examples.ZipperExamples$Dept in class ZipperExamples$Dept, tree.tpe=shapeless.examples.ZipperExamples$Dept\r\n[error]           new shapeless.examples.ZipperExamples$Dept.\"<init>\" // def <init>(manager: shapeless.examples.ZipperExamples$Employee,employees: shapeless.HList): shapeless.examples.ZipperExamples$Dept in class ZipperExamples$Dept, tree.tpe=(manager: shapeless.examples.ZipperExamples$Employee, employees: shapeless.HList)shapeless.examples.ZipperExamples$Dept\r\n[error]           // 2 arguments\r\n[error]           Apply( // def <init>(name: String,salary: Int): shapeless.examples.ZipperExamples$Employee in class ZipperExamples$Employee, tree.tpe=shapeless.examples.ZipperExamples$Employee\r\n[error]             new shapeless.examples.ZipperExamples$Employee.\"<init>\" // def <init>(name: String,salary: Int): shapeless.examples.ZipperExamples$Employee in class ZipperExamples$Employee, tree.tpe=(name: String, salary: Int)shapeless.examples.ZipperExamples$Employee\r\n[error]             // 2 arguments\r\n[error]             \"Agamemnon\"\r\n[error]             5000\r\n[error]           )\r\n[error]           Block( // tree.tpe=shapeless.::\r\n[error]             ValDef( // val x$3: shapeless.examples.ZipperExamples$Employee\r\n[error]               <synthetic> <triedcooking>\r\n[error]               \"x$3\"\r\n[error]               <tpt> // tree.tpe=shapeless.examples.ZipperExamples$Employee\r\n[error]               Apply( // def <init>(name: String,salary: Int): shapeless.examples.ZipperExamples$Employee in class ZipperExamples$Employee, tree.tpe=shapeless.examples.ZipperExamples$Employee\r\n[error]                 new shapeless.examples.ZipperExamples$Employee.\"<init>\" // def <init>(name: String,salary: Int): shapeless.examples.ZipperExamples$Employee in class ZipperExamples$Employee, tree.tpe=(name: String, salary: Int)shapeless.examples.ZipperExamples$Employee\r\n[error]                 // 2 arguments\r\n[error]                 \"Menelaus\"\r\n[error]                 3000\r\n[error]               )\r\n[error]             )\r\n[error]             Apply( // def ::(h: Object): shapeless.:: in class HListOps, tree.tpe=shapeless.::\r\n[error]               shapeless.this.HList.hlistOps({\r\n[error]   <synthetic> val x$2: shapeless.examples.ZipperExamples$Employee = new shapeless.examples.ZipperExamples$Employee(\"Achilles\", 2000);\r\n[error]   shapeless.this.HList.hlistOps({\r\n[error]   <synthetic> val x$1: shapeless.examples.ZipperExamples$Employee = new shapeless.examples.ZipperExamples$Employee(\"Odysseus\", 2000);\r\n[error]   shapeless.HNil.::(x$1)\r\n[error] }).::(x$2)\r\n[error] }).\"$colon$colon\" // def ::(h: Object): shapeless.:: in class HListOps, tree.tpe=(h: Object)shapeless.::\r\n[error]               \"x$3\" // val x$3: shapeless.examples.ZipperExamples$Employee, tree.tpe=shapeless.examples.ZipperExamples$Employee\r\n[error]             )\r\n[error]           )\r\n[error]         )\r\n[error]       )\r\n[error]       Apply( // private[object ZipperExamples] def z_=(x$1: shapeless.Zipper): Unit in object ZipperExamples, tree.tpe=Unit\r\n[error]         ZipperExamples$delayedInit$body.this.\"$outer\".\"z_$eq\" // private[object ZipperExamples] def z_=(x$1: shapeless.Zipper): Unit in object ZipperExamples, tree.tpe=(x$1: shapeless.Zipper)Unit\r\n[error]         Apply( // def toZipper(gen: shapeless.Generic): shapeless.Zipper in class GenericZipperOps, tree.tpe=shapeless.Zipper\r\n[error]           shapeless.syntax.zipper.toZipper(ZipperExamples$delayedInit$body.this.$outer.dept(), {\r\n[error]   new anonymous class anon$1()\r\n[error] }).\"toZipper\" // def toZipper(gen: shapeless.Generic): shapeless.Zipper in class GenericZipperOps, tree.tpe=(gen: shapeless.Generic)shapeless.Zipper\r\n[error]           Block( // tree.tpe=shapeless.examples.1\r\n[error]             {}\r\n[error]             Apply( // def <init>(): shapeless.examples.1 in class 1, tree.tpe=shapeless.examples.1\r\n[error]               new shapeless.examples.1.\"<init>\" // def <init>(): shapeless.examples.1 in class 1, tree.tpe=()shapeless.examples.1\r\n[error]               Nil\r\n[error]             )\r\n[error]           )\r\n[error]         )\r\n[error]       )\r\n[error]       Apply( // private[object ZipperExamples] def g1_=(x$1: shapeless.examples.ZipperExamples$Dept): Unit in object ZipperExamples, tree.tpe=Unit\r\n[error]         ZipperExamples$delayedInit$body.this.\"$outer\".\"g1_$eq\" // private[object ZipperExamples] def g1_=(x$1: shapeless.examples.ZipperExamples$Dept): Unit in object ZipperExamples, tree.tpe=(x$1: shapeless.examples.ZipperExamples$Dept)Unit\r\n[error]         Apply( // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=shapeless.examples.ZipperExamples$Dept\r\n[error]           TypeApply( // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=()shapeless.examples.ZipperExamples$Dept\r\n[error]             ZipperExamples$delayedInit$body.this.$outer.z().reify(shapeless.ops.zipper$Reify.genericReify({\r\n[error]   new shapeless.examples.1()\r\n[error] }, shapeless.ops.hlist$ReversePrepend.hnilReversePrepend1())).\"$asInstanceOf\" // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=[T0 >: ? <: ?]()T0\r\n[error]             <tpt> // tree.tpe=shapeless.examples.ZipperExamples$Dept\r\n[error]           )\r\n[error]           Nil\r\n[error]         )\r\n[error]       )\r\n[error]       Apply( // def typed(t: Function0): Unit in package test, tree.tpe=Unit\r\n[error]         \"shapeless\".\"test\".\"package\".\"typed\" // def typed(t: Function0): Unit in package test, tree.tpe=(t: Function0)Unit\r\n[error]         Block( // tree.tpe=Function0\r\n[error]           {}\r\n[error]           Typed( // tree.tpe=Function0\r\n[error]             Apply( // def <init>(): shapeless.examples.anonfun$2, tree.tpe=shapeless.examples.anonfun$2\r\n[error]               new anonymous class anonfun$2.\"<init>\" // def <init>(): shapeless.examples.anonfun$2, tree.tpe=()shapeless.examples.anonfun$2\r\n[error]               Nil\r\n[error]             )\r\n[error]             <tpt> // tree.tpe=Function0\r\n[error]           )\r\n[error]         )\r\n[error]       )\r\n[error]       Apply( // def println(x: Object): Unit in object Predef, tree.tpe=Unit\r\n[error]         scala.this.\"Predef\".\"println\" // def println(x: Object): Unit in object Predef, tree.tpe=(x: Object)Unit\r\n[error]         Apply( // val g1(): shapeless.examples.ZipperExamples$Dept in object ZipperExamples, tree.tpe=shapeless.examples.ZipperExamples$Dept\r\n[error]           ZipperExamples$delayedInit$body.this.\"$outer\".\"g1\" // val g1(): shapeless.examples.ZipperExamples$Dept in object ZipperExamples, tree.tpe=()shapeless.examples.ZipperExamples$Dept\r\n[error]           Nil\r\n[error]         )\r\n[error]       )\r\n[error]       Apply( // private[object ZipperExamples] def g2_=(x$1: shapeless.::): Unit in object ZipperExamples, tree.tpe=Unit\r\n[error]         ZipperExamples$delayedInit$body.this.\"$outer\".\"g2_$eq\" // private[object ZipperExamples] def g2_=(x$1: shapeless.::): Unit in object ZipperExamples, tree.tpe=(x$1: shapeless.::)Unit\r\n[error]         Apply( // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=shapeless.::\r\n[error]           TypeApply( // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=()shapeless.::\r\n[error]             ZipperExamples$delayedInit$body.this.$outer.z().right(shapeless.ops.zipper$Right.right()).$asInstanceOf[shapeless.Zipper]().get(shapeless.ops.zipper$Get.get()).\"$asInstanceOf\" // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=[T0 >: ? <: ?]()T0\r\n[error]             <tpt> // tree.tpe=shapeless.::\r\n[error]           )\r\n[error]           Nil\r\n[error]         )\r\n[error]       )\r\n[error]       Apply( // def typed(t: Function0): Unit in package test, tree.tpe=Unit\r\n[error]         \"shapeless\".\"test\".\"package\".\"typed\" // def typed(t: Function0): Unit in package test, tree.tpe=(t: Function0)Unit\r\n[error]         Block( // tree.tpe=Function0\r\n[error]           {}\r\n[error]           Typed( // tree.tpe=Function0\r\n[error]             Apply( // def <init>(): shapeless.examples.anonfun$3, tree.tpe=shapeless.examples.anonfun$3\r\n[error]               new anonymous class anonfun$3.\"<init>\" // def <init>(): shapeless.examples.anonfun$3, tree.tpe=()shapeless.examples.anonfun$3\r\n[error]               Nil\r\n[error]             )\r\n[error]             <tpt> // tree.tpe=Function0\r\n[error]           )\r\n[error]         )\r\n[error]       )\r\n[error]       Apply( // def println(x: Object): Unit in object Predef, tree.tpe=Unit\r\n[error]         scala.this.\"Predef\".\"println\" // def println(x: Object): Unit in object Predef, tree.tpe=(x: Object)Unit\r\n[error]         Apply( // val g2(): shapeless.:: in object ZipperExamples, tree.tpe=shapeless.::\r\n[error]           ZipperExamples$delayedInit$body.this.\"$outer\".\"g2\" // val g2(): shapeless.:: in object ZipperExamples, tree.tpe=()shapeless.::\r\n[error]           Nil\r\n[error]         )\r\n[error]       )\r\n[error]       Apply( // private[object ZipperExamples] def g3_=(x$1: shapeless.examples.ZipperExamples$Employee): Unit in object ZipperExamples, tree.tpe=Unit\r\n[error]         ZipperExamples$delayedInit$body.this.\"$outer\".\"g3_$eq\" // private[object ZipperExamples] def g3_=(x$1: shapeless.examples.ZipperExamples$Employee): Unit in object ZipperExamples, tree.tpe=(x$1: shapeless.examples.ZipperExamples$Employee)Unit\r\n[error]         Apply( // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=shapeless.examples.ZipperExamples$Employee\r\n[error]           TypeApply( // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=()shapeless.examples.ZipperExamples$Employee\r\n[error]             ZipperExamples$delayedInit$body.this.$outer.z().get(shapeless.ops.zipper$Get.get()).\"$asInstanceOf\" // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=[T0 >: ? <: ?]()T0\r\n[error]             <tpt> // tree.tpe=shapeless.examples.ZipperExamples$Employee\r\n[error]           )\r\n[error]           Nil\r\n[error]         )\r\n[error]       )\r\n[error]       Apply( // def typed(t: Function0): Unit in package test, tree.tpe=Unit\r\n[error]         \"shapeless\".\"test\".\"package\".\"typed\" // def typed(t: Function0): Unit in package test, tree.tpe=(t: Function0)Unit\r\n[error]         Block( // tree.tpe=Function0\r\n[error]           {}\r\n[error]           Typed( // tree.tpe=Function0\r\n[error]             Apply( // def <init>(): shapeless.examples.anonfun$4, tree.tpe=shapeless.examples.anonfun$4\r\n[error]               new anonymous class anonfun$4.\"<init>\" // def <init>(): shapeless.examples.anonfun$4, tree.tpe=()shapeless.examples.anonfun$4\r\n[error]               Nil\r\n[error]             )\r\n[error]             <tpt> // tree.tpe=Function0\r\n[error]           )\r\n[error]         )\r\n[error]       )\r\n[error]       Apply( // def println(x: Object): Unit in object Predef, tree.tpe=Unit\r\n[error]         scala.this.\"Predef\".\"println\" // def println(x: Object): Unit in object Predef, tree.tpe=(x: Object)Unit\r\n[error]         Apply( // val g3(): shapeless.examples.ZipperExamples$Employee in object ZipperExamples, tree.tpe=shapeless.examples.ZipperExamples$Employee\r\n[error]           ZipperExamples$delayedInit$body.this.\"$outer\".\"g3\" // val g3(): shapeless.examples.ZipperExamples$Employee in object ZipperExamples, tree.tpe=()shapeless.examples.ZipperExamples$Employee\r\n[error]           Nil\r\n[error]         )\r\n[error]       )\r\n[error]       Apply( // private[object ZipperExamples] def g4_=(x$1: Int): Unit in object ZipperExamples, tree.tpe=Unit\r\n[error]         ZipperExamples$delayedInit$body.this.\"$outer\".\"g4_$eq\" // private[object ZipperExamples] def g4_=(x$1: Int): Unit in object ZipperExamples, tree.tpe=(x$1: Int)Unit\r\n[error]         Apply( // def unbox(x: Object): Int in object Int, tree.tpe=Int\r\n[error]           \"scala\".\"Int\".\"unbox\" // def unbox(x: Object): Int in object Int, tree.tpe=(x: Object)Int\r\n[error]           Apply( // def get(get: shapeless.ops.zipper$Get): Object in class Zipper, tree.tpe=Object\r\n[error]             ZipperExamples$delayedInit$body.this.$outer.z().down(shapeless.ops.zipper$Down.genericDown({\r\n[error]   new shapeless.examples.1()\r\n[error] })).$asInstanceOf[shapeless.Zipper]().right(shapeless.ops.zipper$Right.right()).$asInstanceOf[shapeless.Zipper]().\"get\" // def get(get: shapeless.ops.zipper$Get): Object in class Zipper, tree.tpe=(get: shapeless.ops.zipper$Get)Object\r\n[error]             Apply( // implicit def get(): shapeless.ops.zipper$Get in object zipper$Get, tree.tpe=shapeless.ops.zipper$Get\r\n[error]               \"shapeless\".\"ops\".\"zipper$Get\".\"get\" // implicit def get(): shapeless.ops.zipper$Get in object zipper$Get, tree.tpe=()shapeless.ops.zipper$Get\r\n[error]               Nil\r\n[error]             )\r\n[error]           )\r\n[error]         )\r\n[error]       )\r\n[error]       Apply( // def typed(t: Function0): Unit in package test, tree.tpe=Unit\r\n[error]         \"shapeless\".\"test\".\"package\".\"typed\" // def typed(t: Function0): Unit in package test, tree.tpe=(t: Function0)Unit\r\n[error]         Block( // tree.tpe=Function0\r\n[error]           {}\r\n[error]           Typed( // tree.tpe=Function0\r\n[error]             Apply( // def <init>(): shapeless.examples.anonfun$1, tree.tpe=shapeless.examples.anonfun$1\r\n[error]               new anonymous class anonfun$1.\"<init>\" // def <init>(): shapeless.examples.anonfun$1, tree.tpe=()shapeless.examples.anonfun$1\r\n[error]               Nil\r\n[error]             )\r\n[error]             <tpt> // tree.tpe=Function0\r\n[error]           )\r\n[error]         )\r\n[error]       )\r\n[error]       Apply( // def println(x: Object): Unit in object Predef, tree.tpe=Unit\r\n[error]         scala.this.\"Predef\".\"println\" // def println(x: Object): Unit in object Predef, tree.tpe=(x: Object)Unit\r\n[error]         Apply( // def box(x: Int): Integer in object Int, tree.tpe=Object\r\n[error]           \"scala\".\"Int\".\"box\" // def box(x: Int): Integer in object Int, tree.tpe=(x: Int)Integer\r\n[error]           Apply( // val g4(): Int in object ZipperExamples, tree.tpe=Int\r\n[error]             ZipperExamples$delayedInit$body.this.\"$outer\".\"g4\" // val g4(): Int in object ZipperExamples, tree.tpe=()Int\r\n[error]             Nil\r\n[error]           )\r\n[error]         )\r\n[error]       )\r\n[error]       Apply( // private[object ZipperExamples] def g5_=(x$1: String): Unit in object ZipperExamples, tree.tpe=Unit\r\n[error]         ZipperExamples$delayedInit$body.this.\"$outer\".\"g5_$eq\" // private[object ZipperExamples] def g5_=(x$1: String): Unit in object ZipperExamples, tree.tpe=(x$1: String)Unit\r\n[error]         Apply( // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=String\r\n[error]           TypeApply( // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=()String\r\n[error]             ZipperExamples$delayedInit$body.this.$outer.z().down(shapeless.ops.zipper$Down.genericDown({\r\n[error]   new shapeless.examples.1()\r\n[error] })).$asInstanceOf[shapeless.Zipper]().get(shapeless.ops.zipper$Get.get()).\"$asInstanceOf\" // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=[T0 >: ? <: ?]()T0\r\n[error]             <tpt> // tree.tpe=String\r\n[error]           )\r\n[error]           Nil\r\n[error]         )\r\n[error]       )\r\n[error]       Apply( // def typed(t: Function0): Unit in package test, tree.tpe=Unit\r\n[error]         \"shapeless\".\"test\".\"package\".\"typed\" // def typed(t: Function0): Unit in package test, tree.tpe=(t: Function0)Unit\r\n[error]         Block( // tree.tpe=Function0\r\n[error]           {}\r\n[error]           Typed( // tree.tpe=Function0\r\n[error]             Apply( // def <init>(): shapeless.examples.anonfun$5, tree.tpe=shapeless.examples.anonfun$5\r\n[error]               new anonymous class anonfun$5.\"<init>\" // def <init>(): shapeless.examples.anonfun$5, tree.tpe=()shapeless.examples.anonfun$5\r\n[error]               Nil\r\n[error]             )\r\n[error]             <tpt> // tree.tpe=Function0\r\n[error]           )\r\n[error]         )\r\n[error]       )\r\n[error]       Apply( // def println(x: Object): Unit in object Predef, tree.tpe=Unit\r\n[error]         scala.this.\"Predef\".\"println\" // def println(x: Object): Unit in object Predef, tree.tpe=(x: Object)Unit\r\n[error]         Apply( // val g5(): String in object ZipperExamples, tree.tpe=String\r\n[error]           ZipperExamples$delayedInit$body.this.\"$outer\".\"g5\" // val g5(): String in object ZipperExamples, tree.tpe=()String\r\n[error]           Nil\r\n[error]         )\r\n[error]       )\r\n[error]       Apply( // private[object ZipperExamples] def g6_=(x$1: shapeless.Zipper): Unit in object ZipperExamples, tree.tpe=Unit\r\n[error]         ZipperExamples$delayedInit$body.this.\"$outer\".\"g6_$eq\" // private[object ZipperExamples] def g6_=(x$1: shapeless.Zipper): Unit in object ZipperExamples, tree.tpe=(x$1: shapeless.Zipper)Unit\r\n[error]         Apply( // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=shapeless.Zipper\r\n[error]           TypeApply( // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=()shapeless.Zipper\r\n[error]             ZipperExamples$delayedInit$body.this.$outer.z().down(shapeless.ops.zipper$Down.genericDown({\r\n[error]   new shapeless.examples.1()\r\n[error] })).$asInstanceOf[shapeless.Zipper]().put(\"King Agamemnon\", shapeless.ops.zipper$Put.genericPut({\r\n[error]   new shapeless.examples.1()\r\n[error] }, shapeless.ops.hlist$ReversePrepend.hnilReversePrepend1())).\"$asInstanceOf\" // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=[T0 >: ? <: ?]()T0\r\n[error]             <tpt> // tree.tpe=shapeless.Zipper\r\n[error]           )\r\n[error]           Nil\r\n[error]         )\r\n[error]       )\r\n[error]       Apply( // private[object ZipperExamples] def g8_=(x$1: shapeless.Zipper): Unit in object ZipperExamples, tree.tpe=Unit\r\n[error]         ZipperExamples$delayedInit$body.this.\"$outer\".\"g8_$eq\" // private[object ZipperExamples] def g8_=(x$1: shapeless.Zipper): Unit in object ZipperExamples, tree.tpe=(x$1: shapeless.Zipper)Unit\r\n[error]         Apply( // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=shapeless.Zipper\r\n[error]           TypeApply( // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=()shapeless.Zipper\r\n[error]             ZipperExamples$delayedInit$body.this.$outer.g6().right(shapeless.ops.zipper$Right.right()).$asInstanceOf[shapeless.Zipper]().put(scala.Int.box(8000), shapeless.ops.zipper$Put.genericPut({\r\n[error]   new shapeless.examples.1()\r\n[error] }, shapeless.ops.hlist$ReversePrepend.hlistReversePrepend(shapeless.ops.hlist$ReversePrepend.hnilReversePrepend1()))).\"$asInstanceOf\" // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=[T0 >: ? <: ?]()T0\r\n[error]             <tpt> // tree.tpe=shapeless.Zipper\r\n[error]           )\r\n[error]           Nil\r\n[error]         )\r\n[error]       )\r\n[error]       Apply( // private[object ZipperExamples] def g9_=(x$1: shapeless.Zipper): Unit in object ZipperExamples, tree.tpe=Unit\r\n[error]         ZipperExamples$delayedInit$body.this.\"$outer\".\"g9_$eq\" // private[object ZipperExamples] def g9_=(x$1: shapeless.Zipper): Unit in object ZipperExamples, tree.tpe=(x$1: shapeless.Zipper)Unit\r\n[error]         Apply( // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=shapeless.Zipper\r\n[error]           TypeApply( // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=()shapeless.Zipper\r\n[error]             ZipperExamples$delayedInit$body.this.$outer.g8().up(shapeless.ops.zipper$Up.up(shapeless.ops.zipper$Reify.genericReify({\r\n[error]   new shapeless.examples.1()\r\n[error] }, shapeless.ops.hlist$ReversePrepend.hlistReversePrepend(shapeless.ops.hlist$ReversePrepend.hnilReversePrepend1())), shapeless.ops.zipper$Put.genericPut({\r\n[error]   new shapeless.examples.1()\r\n[error] }, shapeless.ops.hlist$ReversePrepend.hnilReversePrepend1()))).\"$asInstanceOf\" // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=[T0 >: ? <: ?]()T0\r\n[error]             <tpt> // tree.tpe=shapeless.Zipper\r\n[error]           )\r\n[error]           Nil\r\n[error]         )\r\n[error]       )\r\n[error]       Apply( // private[object ZipperExamples] def agamemnon_=(x$1: shapeless.examples.ZipperExamples$Employee): Unit in object ZipperExamples, tree.tpe=Unit\r\n[error]         ZipperExamples$delayedInit$body.this.\"$outer\".\"agamemnon_$eq\" // private[object ZipperExamples] def agamemnon_=(x$1: shapeless.examples.ZipperExamples$Employee): Unit in object ZipperExamples, tree.tpe=(x$1: shapeless.examples.ZipperExamples$Employee)Unit\r\n[error]         Apply( // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=shapeless.examples.ZipperExamples$Employee\r\n[error]           TypeApply( // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=()shapeless.examples.ZipperExamples$Employee\r\n[error]             ZipperExamples$delayedInit$body.this.$outer.g9().get(shapeless.ops.zipper$Get.get()).\"$asInstanceOf\" // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=[T0 >: ? <: ?]()T0\r\n[error]             <tpt> // tree.tpe=shapeless.examples.ZipperExamples$Employee\r\n[error]           )\r\n[error]           Nil\r\n[error]         )\r\n[error]       )\r\n[error]       Apply( // def typed(t: Function0): Unit in package test, tree.tpe=Unit\r\n[error]         \"shapeless\".\"test\".\"package\".\"typed\" // def typed(t: Function0): Unit in package test, tree.tpe=(t: Function0)Unit\r\n[error]         Block( // tree.tpe=Function0\r\n[error]           {}\r\n[error]           Typed( // tree.tpe=Function0\r\n[error]             Apply( // def <init>(): shapeless.examples.anonfun$6, tree.tpe=shapeless.examples.anonfun$6\r\n[error]               new anonymous class anonfun$6.\"<init>\" // def <init>(): shapeless.examples.anonfun$6, tree.tpe=()shapeless.examples.anonfun$6\r\n[error]               Nil\r\n[error]             )\r\n[error]             <tpt> // tree.tpe=Function0\r\n[error]           )\r\n[error]         )\r\n[error]       )\r\n[error]       Apply( // def println(x: Object): Unit in object Predef, tree.tpe=Unit\r\n[error]         scala.this.\"Predef\".\"println\" // def println(x: Object): Unit in object Predef, tree.tpe=(x: Object)Unit\r\n[error]         Apply( // val agamemnon(): shapeless.examples.ZipperExamples$Employee in object ZipperExamples, tree.tpe=shapeless.examples.ZipperExamples$Employee\r\n[error]           ZipperExamples$delayedInit$body.this.\"$outer\".\"agamemnon\" // val agamemnon(): shapeless.examples.ZipperExamples$Employee in object ZipperExamples, tree.tpe=()shapeless.examples.ZipperExamples$Employee\r\n[error]           Nil\r\n[error]         )\r\n[error]       )\r\n[error]       Apply( // private[object ZipperExamples] def updatedDept_=(x$1: shapeless.examples.ZipperExamples$Dept): Unit in object ZipperExamples, tree.tpe=Unit\r\n[error]         ZipperExamples$delayedInit$body.this.\"$outer\".\"updatedDept_$eq\" // private[object ZipperExamples] def updatedDept_=(x$1: shapeless.examples.ZipperExamples$Dept): Unit in object ZipperExamples, tree.tpe=(x$1: shapeless.examples.ZipperExamples$Dept)Unit\r\n[error]         Apply( // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=shapeless.examples.ZipperExamples$Dept\r\n[error]           TypeApply( // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=()shapeless.examples.ZipperExamples$Dept\r\n[error]             ZipperExamples$delayedInit$body.this.$outer.g9().reify(shapeless.ops.zipper$Reify.genericReify({\r\n[error]   new shapeless.examples.1()\r\n[error] }, shapeless.ops.hlist$ReversePrepend.hnilReversePrepend1())).\"$asInstanceOf\" // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=[T0 >: ? <: ?]()T0\r\n[error]             <tpt> // tree.tpe=shapeless.examples.ZipperExamples$Dept\r\n[error]           )\r\n[error]           Nil\r\n[error]         )\r\n[error]       )\r\n[error]       Apply( // def typed(t: Function0): Unit in package test, tree.tpe=Unit\r\n[error]         \"shapeless\".\"test\".\"package\".\"typed\" // def typed(t: Function0): Unit in package test, tree.tpe=(t: Function0)Unit\r\n[error]         Block( // tree.tpe=Function0\r\n[error]           {}\r\n[error]           Typed( // tree.tpe=Function0\r\n[error]             Apply( // def <init>(): shapeless.examples.anonfun$7, tree.tpe=shapeless.examples.anonfun$7\r\n[error]               new anonymous class anonfun$7.\"<init>\" // def <init>(): shapeless.examples.anonfun$7, tree.tpe=()shapeless.examples.anonfun$7\r\n[error]               Nil\r\n[error]             )\r\n[error]             <tpt> // tree.tpe=Function0\r\n[error]           )\r\n[error]         )\r\n[error]       )\r\n[error]       Apply( // def println(x: Object): Unit in object Predef, tree.tpe=Unit\r\n[error]         scala.this.\"Predef\".\"println\" // def println(x: Object): Unit in object Predef, tree.tpe=(x: Object)Unit\r\n[error]         Apply( // val updatedDept(): shapeless.examples.ZipperExamples$Dept in object ZipperExamples, tree.tpe=shapeless.examples.ZipperExamples$Dept\r\n[error]           ZipperExamples$delayedInit$body.this.\"$outer\".\"updatedDept\" // val updatedDept(): shapeless.examples.ZipperExamples$Dept in object ZipperExamples, tree.tpe=()shapeless.examples.ZipperExamples$Dept\r\n[error]           Nil\r\n[error]         )\r\n[error]       )\r\n[error]       Apply( // private[object ZipperExamples] def achillesRaise_=(x$1: shapeless.examples.ZipperExamples$Dept): Unit in object ZipperExamples, tree.tpe=Unit\r\n[error]         ZipperExamples$delayedInit$body.this.\"$outer\".\"achillesRaise_$eq\" // private[object ZipperExamples] def achillesRaise_=(x$1: shapeless.examples.ZipperExamples$Dept): Unit in object ZipperExamples, tree.tpe=(x$1: shapeless.examples.ZipperExamples$Dept)Unit\r\n[error]         Apply( // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=shapeless.examples.ZipperExamples$Dept\r\n[error]           TypeApply( // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=()shapeless.examples.ZipperExamples$Dept\r\n[error]             ZipperExamples$delayedInit$body.this.$outer.g9().right(shapeless.ops.zipper$Right.right()).$asInstanceOf[shapeless.Zipper]().down(shapeless.ops.zipper$Down.hlistDown()).$asInstanceOf[shapeless.Zipper]().right(shapeless.ops.zipper$Right.right()).$asInstanceOf[shapeless.Zipper]().down(shapeless.ops.zipper$Down.genericDown({\r\n[error]   new shapeless.examples.1()\r\n[error] })).$asInstanceOf[shapeless.Zipper]().right(shapeless.ops.zipper$Right.right()).$asInstanceOf[shapeless.Zipper]().put(scala.Int.box(3000), shapeless.ops.zipper$Put.genericPut({\r\n[error]   new shapeless.examples.1()\r\n[error] }, shapeless.ops.hlist$ReversePrepend.hlistReversePrepend(shapeless.ops.hlist$ReversePrepend.hnilReversePrepend1()))).$asInstanceOf[shapeless.Zipper]().root(shapeless.ops.zipper$Root.nonRootRoot(shapeless.ops.zipper$Up.up(shapeless.ops.zipper$Reify.genericReify({\r\n[error]   new shapeless.examples.1()\r\n[error] }, shapeless.ops.hlist$ReversePrepend.hlistReversePrepend(shapeless.ops.hlist$ReversePrepend.hnilReversePrepend1())), shapeless.ops.zipper$Put.hlistPut(shapeless.ops.hlist$ReversePrepend.hlistReversePrepend(shapeless.ops.hlist$ReversePrepend.hnilReversePrepend1()))), shapeless.ops.zipper$Root.nonRootRoot(shapeless.ops.zipper$Up.up(shapeless.ops.zipper$Reify.hlistReify(shapeless.ops.hlist$ReversePrepend.hlistReversePrepend(shapeless.ops.hlist$ReversePrepend.hnilReversePrepend1())), shapeless.ops.zipper$Put.genericPut({\r\n[error]   new shapeless.examples.1()\r\n[error] }, shapeless.ops.hlist$ReversePrepend.hlistReversePrepend(shapeless.ops.hlist$ReversePrepend.hnilReversePrepend1()))), shapeless.ops.zipper$Root.rootRoot()))).$asInstanceOf[shapeless.Zipper]().reify(shapeless.ops.zipper$Reify.genericReify({\r\n[error]   new shapeless.examples.1()\r\n[error] }, shapeless.ops.hlist$ReversePrepend.hlistReversePrepend(shapeless.ops.hlist$ReversePrepend.hnilReversePrepend1()))).\"$asInstanceOf\" // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=[T0 >: ? <: ?]()T0\r\n[error]             <tpt> // tree.tpe=shapeless.examples.ZipperExamples$Dept\r\n[error]           )\r\n[error]           Nil\r\n[error]         )\r\n[error]       )\r\n[error]       Apply( // def typed(t: Function0): Unit in package test, tree.tpe=Unit\r\n[error]         \"shapeless\".\"test\".\"package\".\"typed\" // def typed(t: Function0): Unit in package test, tree.tpe=(t: Function0)Unit\r\n[error]         Block( // tree.tpe=Function0\r\n[error]           {}\r\n[error]           Typed( // tree.tpe=Function0\r\n[error]             Apply( // def <init>(): shapeless.examples.anonfun$8, tree.tpe=shapeless.examples.anonfun$8\r\n[error]               new anonymous class anonfun$8.\"<init>\" // def <init>(): shapeless.examples.anonfun$8, tree.tpe=()shapeless.examples.anonfun$8\r\n[error]               Nil\r\n[error]             )\r\n[error]             <tpt> // tree.tpe=Function0\r\n[error]           )\r\n[error]         )\r\n[error]       )\r\n[error]       Apply( // def println(x: Object): Unit in object Predef, tree.tpe=Unit\r\n[error]         scala.this.\"Predef\".\"println\" // def println(x: Object): Unit in object Predef, tree.tpe=(x: Object)Unit\r\n[error]         Apply( // val achillesRaise(): shapeless.examples.ZipperExamples$Dept in object ZipperExamples, tree.tpe=shapeless.examples.ZipperExamples$Dept\r\n[error]           ZipperExamples$delayedInit$body.this.\"$outer\".\"achillesRaise\" // val achillesRaise(): shapeless.examples.ZipperExamples$Dept in object ZipperExamples, tree.tpe=()shapeless.examples.ZipperExamples$Dept\r\n[error]           Nil\r\n[error]         )\r\n[error]       )\r\n[error]       Apply( // private[object ZipperExamples] def singlePass_=(x$1: shapeless.examples.ZipperExamples$Dept): Unit in object ZipperExamples, tree.tpe=Unit\r\n[error]         ZipperExamples$delayedInit$body.this.\"$outer\".\"singlePass_$eq\" // private[object ZipperExamples] def singlePass_=(x$1: shapeless.examples.ZipperExamples$Dept): Unit in object ZipperExamples, tree.tpe=(x$1: shapeless.examples.ZipperExamples$Dept)Unit\r\n[error]         Apply( // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=shapeless.examples.ZipperExamples$Dept\r\n[error]           TypeApply( // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=()shapeless.examples.ZipperExamples$Dept\r\n[error]             ZipperExamples$delayedInit$body.this.$outer.z().down(shapeless.ops.zipper$Down.genericDown({\r\n[error]   new shapeless.examples.1()\r\n[error] })).$asInstanceOf[shapeless.Zipper]().put(\"King Agamemnon\", shapeless.ops.zipper$Put.genericPut({\r\n[error]   new shapeless.examples.1()\r\n[error] }, shapeless.ops.hlist$ReversePrepend.hnilReversePrepend1())).$asInstanceOf[shapeless.Zipper]().right(shapeless.ops.zipper$Right.right()).$asInstanceOf[shapeless.Zipper]().put(scala.Int.box(8000), shapeless.ops.zipper$Put.genericPut({\r\n[error]   new shapeless.examples.1()\r\n[error] }, shapeless.ops.hlist$ReversePrepend.hlistReversePrepend(shapeless.ops.hlist$ReversePrepend.hnilReversePrepend1()))).$asInstanceOf[shapeless.Zipper]().up(shapeless.ops.zipper$Up.up(shapeless.ops.zipper$Reify.genericReify({\r\n[error]   new shapeless.examples.1()\r\n[error] }, shapeless.ops.hlist$ReversePrepend.hlistReversePrepend(shapeless.ops.hlist$ReversePrepend.hnilReversePrepend1())), shapeless.ops.zipper$Put.genericPut({\r\n[error]   new shapeless.examples.1()\r\n[error] }, shapeless.ops.hlist$ReversePrepend.hnilReversePrepend1()))).$asInstanceOf[shapeless.Zipper]().right(shapeless.ops.zipper$Right.right()).$asInstanceOf[shapeless.Zipper]().down(shapeless.ops.zipper$Down.hlistDown()).$asInstanceOf[shapeless.Zipper]().right(shapeless.ops.zipper$Right.right()).$asInstanceOf[shapeless.Zipper]().down(shapeless.ops.zipper$Down.genericDown({\r\n[error]   new shapeless.examples.1()\r\n[error] })).$asInstanceOf[shapeless.Zipper]().right(shapeless.ops.zipper$Right.right()).$asInstanceOf[shapeless.Zipper]().put(scala.Int.box(3000), shapeless.ops.zipper$Put.genericPut({\r\n[error]   new shapeless.examples.1()\r\n[error] }, shapeless.ops.hlist$ReversePrepend.hlistReversePrepend(shapeless.ops.hlist$ReversePrepend.hnilReversePrepend1()))).$asInstanceOf[shapeless.Zipper]().root(shapeless.ops.zipper$Root.nonRootRoot(shapeless.ops.zipper$Up.up(shapeless.ops.zipper$Reify.genericReify({\r\n[error]   new shapeless.examples.1()\r\n[error] }, shapeless.ops.hlist$ReversePrepend.hlistReversePrepend(shapeless.ops.hlist$ReversePrepend.hnilReversePrepend1())), shapeless.ops.zipper$Put.hlistPut(shapeless.ops.hlist$ReversePrepend.hlistReversePrepend(shapeless.ops.hlist$ReversePrepend.hnilReversePrepend1()))), shapeless.ops.zipper$Root.nonRootRoot(shapeless.ops.zipper$Up.up(shapeless.ops.zipper$Reify.hlistReify(shapeless.ops.hlist$ReversePrepend.hlistReversePrepend(shapeless.ops.hlist$ReversePrepend.hnilReversePrepend1())), shapeless.ops.zipper$Put.genericPut({\r\n[error]   new shapeless.examples.1()\r\n[error] }, shapeless.ops.hlist$ReversePrepend.hlistReversePrepend(shapeless.ops.hlist$ReversePrepend.hnilReversePrepend1()))), shapeless.ops.zipper$Root.rootRoot()))).$asInstanceOf[shapeless.Zipper]().reify(shapeless.ops.zipper$Reify.genericReify({\r\n[error]   new shapeless.examples.1()\r\n[error] }, shapeless.ops.hlist$ReversePrepend.hlistReversePrepend(shapeless.ops.hlist$ReversePrepend.hnilReversePrepend1()))).\"$asInstanceOf\" // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=[T0 >: ? <: ?]()T0\r\n[error]             <tpt> // tree.tpe=shapeless.examples.ZipperExamples$Dept\r\n[error]           )\r\n[error]           Nil\r\n[error]         )\r\n[error]       )\r\n[error]       Apply( // def typed(t: Function0): Unit in package test, tree.tpe=Unit\r\n[error]         \"shapeless\".\"test\".\"package\".\"typed\" // def typed(t: Function0): Unit in package test, tree.tpe=(t: Function0)Unit\r\n[error]         Block( // tree.tpe=Function0\r\n[error]           {}\r\n[error]           Typed( // tree.tpe=Function0\r\n[error]             Apply( // def <init>(): shapeless.examples.anonfun$9, tree.tpe=shapeless.examples.anonfun$9\r\n[error]               new anonymous class anonfun$9.\"<init>\" // def <init>(): shapeless.examples.anonfun$9, tree.tpe=()shapeless.examples.anonfun$9\r\n[error]               Nil\r\n[error]             )\r\n[error]             <tpt> // tree.tpe=Function0\r\n[error]           )\r\n[error]         )\r\n[error]       )\r\n[error]       Apply( // def println(x: Object): Unit in object Predef, tree.tpe=Unit\r\n[error]         scala.this.\"Predef\".\"println\" // def println(x: Object): Unit in object Predef, tree.tpe=(x: Object)Unit\r\n[error]         Apply( // val singlePass(): shapeless.examples.ZipperExamples$Dept in object ZipperExamples, tree.tpe=shapeless.examples.ZipperExamples$Dept\r\n[error]           ZipperExamples$delayedInit$body.this.\"$outer\".\"singlePass\" // val singlePass(): shapeless.examples.ZipperExamples$Dept in object ZipperExamples, tree.tpe=()shapeless.examples.ZipperExamples$Dept\r\n[error]           Nil\r\n[error]         )\r\n[error]       )\r\n[error]       \"scala\".\"runtime\".\"BoxedUnit\".\"UNIT\" // final val UNIT: runtime.BoxedUnit in object BoxedUnit, tree.tpe=runtime.BoxedUnit\r\n[error]     )\r\n[error]   )\r\n[error]   DefDef( // def <init>($outer: shapeless.examples.ZipperExamples.type): shapeless.examples.ZipperExamples$delayedInit$body in class ZipperExamples$delayedInit$body\r\n[error]     <method> <triedcooking>\r\n[error]     \"<init>\"\r\n[error]     []\r\n[error]     // 1 parameter list\r\n[error]     ValDef( // $outer: shapeless.examples.ZipperExamples.type\r\n[error]       <param> <paramaccessor> <triedcooking>\r\n[error]       \"$outer\"\r\n[error]       <tpt> // tree.tpe=shapeless.examples.ZipperExamples.type\r\n[error]       <empty>\r\n[error]     )\r\n[error]     <tpt> // tree.tpe=shapeless.examples.ZipperExamples$delayedInit$body\r\n[error]     Block( // tree.tpe=Unit\r\n[error]       // 2 statements\r\n[error]       If( // tree.tpe=Unit\r\n[error]         Apply( // final def eq(x$1: Object): Boolean in class Object, tree.tpe=Boolean\r\n[error]           \"$outer\".\"eq\" // final def eq(x$1: Object): Boolean in class Object, tree.tpe=(x$1: Object)Boolean\r\n[error]           null\r\n[error]         )\r\n[error]         Throw( // tree.tpe=Nothing\r\n[error]           Apply( // def <init>(): NullPointerException in class NullPointerException, tree.tpe=NullPointerException\r\n[error]             new NullPointerException.\"<init>\" // def <init>(): NullPointerException in class NullPointerException, tree.tpe=()NullPointerException\r\n[error]             Nil\r\n[error]           )\r\n[error]         )\r\n[error]         Assign( // tree.tpe=Unit\r\n[error]           ZipperExamples$delayedInit$body.this.\"$outer\" // private[this] val $outer: shapeless.examples.ZipperExamples.type in class ZipperExamples$delayedInit$body, tree.tpe=shapeless.examples.ZipperExamples.type\r\n[error]           \"$outer\" // $outer: shapeless.examples.ZipperExamples.type, tree.tpe=shapeless.examples.ZipperExamples.type\r\n[error]         )\r\n[error]       )\r\n[error]       Apply( // def <init>(): scala.runtime.AbstractFunction0 in class AbstractFunction0, tree.tpe=scala.runtime.AbstractFunction0\r\n[error]         ZipperExamples$delayedInit$body.super.\"<init>\" // def <init>(): scala.runtime.AbstractFunction0 in class AbstractFunction0, tree.tpe=()scala.runtime.AbstractFunction0\r\n[error]         Nil\r\n[error]       )\r\n[error]       ()\r\n[error]     )\r\n[error]   )\r\n[error] )\r\n[error] \r\n[error] == Expanded type of tree ==\r\n[error] \r\n[error] TypeRef(TypeSymbol(final abstract class Long extends ))\r\n[error] \r\n[error] uncaught exception during compilation: java.lang.AssertionError\r\n[trace] Stack trace suppressed: run last examples/compile:compile for the full output.\r\n[error] (examples/compile:compile) java.lang.AssertionError: assertion failed: Unsound substitution from List(type V) to List(type V, value unwrap, method label, method unlabel, type V)\r\n```"},"comment":{"url":"https://api.github.com/repos/scala-js/scala-js/issues/comments/89570299","html_url":"https://github.com/scala-js/scala-js/issues/1581#issuecomment-89570299","issue_url":"https://api.github.com/repos/scala-js/scala-js/issues/1581","id":89570299,"user":{"login":"japgolly","id":202935,"avatar_url":"https://avatars.githubusercontent.com/u/202935?v=3","gravatar_id":"","url":"https://api.github.com/users/japgolly","html_url":"https://github.com/japgolly","followers_url":"https://api.github.com/users/japgolly/followers","following_url":"https://api.github.com/users/japgolly/following{/other_user}","gists_url":"https://api.github.com/users/japgolly/gists{/gist_id}","starred_url":"https://api.github.com/users/japgolly/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/japgolly/subscriptions","organizations_url":"https://api.github.com/users/japgolly/orgs","repos_url":"https://api.github.com/users/japgolly/repos","events_url":"https://api.github.com/users/japgolly/events{/privacy}","received_events_url":"https://api.github.com/users/japgolly/received_events","type":"User","site_admin":false},"created_at":"2015-04-04T12:54:53Z","updated_at":"2015-04-04T12:54:53Z","body":"This is enough to reproduce it:\r\n\r\n```scala\r\npackage shapeless\r\n\r\nsealed trait Image[T]\r\n\r\ncase class Product[H, T <: HList](h: Image[H], name: String, t: Image[T]) extends Image[H :: T]\r\ncase object EmptyProduct extends Image[HNil]\r\n\r\ncase class Project[F, G](instance: Image[G]) extends Image[F]\r\n\r\nobject Image extends LabelledProductTypeClassCompanion[Image] {\r\n  object typeClass extends LabelledProductTypeClass[Image] {\r\n    def product[H, T <: HList](name: String, h: Image[H], t: Image[T]) = Product(h, name, t)\r\n    def emptyProduct = EmptyProduct\r\n    def project[F, G](instance: => Image[G], to: F => G, from: G => F) = Project[F, G](instance)\r\n  }\r\n}\r\n```"}}